Skip to content

Commit 4822278

Browse files
authored
Merge pull request #4405 from roystgnr/first_scalar_number
Unit test for first_scalar_number() and other Variable methods
2 parents 5beedeb + e9c0943 commit 4822278

1 file changed

Lines changed: 40 additions & 0 deletions

File tree

tests/systems/systems_test.C

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -466,6 +466,7 @@ public:
466466
#endif
467467
#endif // LIBMESH_DIM > 1
468468
#if LIBMESH_DIM > 2
469+
CPPUNIT_TEST( testFirstScalarNumber );
469470
CPPUNIT_TEST( testProjectHierarchicHex27 );
470471
CPPUNIT_TEST( testProjectMeshFunctionHex27 );
471472
CPPUNIT_TEST( testBoundaryProjectCube );
@@ -584,6 +585,45 @@ public:
584585
}
585586

586587

588+
void testFirstScalarNumber()
589+
{
590+
Mesh mesh(*TestCommWorld);
591+
592+
MeshTools::Generation::build_cube (mesh,
593+
1, 1, 1,
594+
0., 1., 0., 1., 0., 1.,
595+
HEX8);
596+
597+
EquationSystems es(mesh);
598+
System &sys = es.add_system<System> ("SimpleSystem");
599+
600+
const FEFamily types[3] = {MONOMIAL_VEC, LAGRANGE_VEC, NEDELEC_ONE};
601+
const Order orders[3] = {CONSTANT, SECOND, FIRST};
602+
const std::string names[3] = {"u", "v", "w"};
603+
const unsigned int var_nums[3] =
604+
{
605+
sys.add_variable("u", CONSTANT, MONOMIAL_VEC),
606+
sys.add_variable("v", SECOND, LAGRANGE_VEC),
607+
sys.add_variable("w", FIRST, NEDELEC_ONE)
608+
};
609+
610+
for (unsigned int i : {0, 1, 2})
611+
{
612+
// We did just add these in order
613+
CPPUNIT_ASSERT_EQUAL(i, var_nums[i]);
614+
615+
auto & var = sys.variable(i);
616+
CPPUNIT_ASSERT_EQUAL(var.system(), &sys);
617+
CPPUNIT_ASSERT_EQUAL(var.name(), names[i]);
618+
CPPUNIT_ASSERT_EQUAL(var.number(), i);
619+
CPPUNIT_ASSERT_EQUAL(var.first_scalar_number(), i*3);
620+
CPPUNIT_ASSERT_EQUAL(var.type().family, types[i]);
621+
CPPUNIT_ASSERT_EQUAL(Order(var.type().order), orders[i]);
622+
CPPUNIT_ASSERT_EQUAL(var.n_components(mesh), 3u);
623+
}
624+
}
625+
626+
587627
void test100KVariables()
588628
{
589629
Mesh mesh(*TestCommWorld);

0 commit comments

Comments
 (0)