The full rewrite of mean_field into something maintainable is progressing. dimensions is mostly done, discritization (domain, blocks, and fields) is done, and eos is progressing quickly
56 lines
2.1 KiB
C++
56 lines
2.1 KiB
C++
#include <catch2/catch_test_macros.hpp>
|
|
|
|
#include "serif/discretization/domain/ids/boundary.hpp"
|
|
#include "serif/discretization/domain/ids/domain.hpp"
|
|
#include "serif/discretization/domain/ids/lists/lists.hpp"
|
|
#include "serif/discretization/domain/physical_domains.hpp"
|
|
#include "serif/discretization/domain/relation/lists/relation_list.hpp"
|
|
#include "serif/discretization/domain/relation/relations.hpp"
|
|
#include "serif/discretization/domain/schema/domain_schema.hpp"
|
|
#include "serif/discretization/domain/types.hpp"
|
|
|
|
#include "serif/tests/test_tags.hpp"
|
|
#include "serif/tests/discritization/domain/domain_test_utils.hpp"
|
|
|
|
namespace domain = serif::discretization::domain;
|
|
namespace ids = domain::ids;
|
|
namespace relation = domain::relation;
|
|
|
|
TEST_CASE(
|
|
"Domain Schemas Reject Relations That Reference Unregistered Entities",
|
|
tags::unit &tags::mesh &tags::utils &tags::domain
|
|
) {
|
|
using IncompleteDomainIDs = ids::lists::DomainIDList<
|
|
ids::DomainID<domain::CoreDomain, 1>,
|
|
ids::DomainID<domain::VacuumDomain, 3>>;
|
|
|
|
using CompleteDomainIDs = ids::lists::DomainIDList<
|
|
ids::DomainID<domain::CoreDomain, 1>,
|
|
ids::DomainID<domain::EnvelopeDomain, 2>,
|
|
ids::DomainID<domain::VacuumDomain, 3>>;
|
|
|
|
using CompleteBoundaryIDs = ids::lists::BoundaryIDList<
|
|
ids::BoundaryID<domain::StellarSurfaceBoundary, 1>,
|
|
ids::BoundaryID<domain::InfinitySurfaceBoundary, 2>>;
|
|
|
|
using InfinityOnlyBoundaryIDs = ids::lists::BoundaryIDList<
|
|
ids::BoundaryID<domain::InfinitySurfaceBoundary, 2>>;
|
|
|
|
using MissingEnvelopeRelation = relation::lists::RelationList<
|
|
relation::FullyConnected<domain::EnvelopeDomain>>;
|
|
|
|
using MissingBoundaryRelation = relation::lists::RelationList<relation::DomainBoundary<
|
|
domain::StellarSurfaceBoundary, domain::StellarDomains,
|
|
domain::VacuumDomain>>;
|
|
|
|
STATIC_REQUIRE_FALSE(
|
|
domain_test_utils::CanFormSchema<IncompleteDomainIDs, CompleteBoundaryIDs, MissingEnvelopeRelation>
|
|
);
|
|
|
|
STATIC_REQUIRE_FALSE(
|
|
domain_test_utils::CanFormSchema<CompleteDomainIDs, InfinityOnlyBoundaryIDs, MissingBoundaryRelation>
|
|
);
|
|
|
|
CHECK(true);
|
|
}
|