@@ -453,6 +453,28 @@ TEST(ElementalTest, Attr2RespondsToElementDeletionKey1) {
453453 EXPECT_THAT (elemental.AttrNonDefaults (DoubleAttr2::kLinConCoef ), IsEmpty ());
454454}
455455
456+ TEST (ElementalTest, SymmetricAttr2) {
457+ using Key = AttrKeyFor<SymmetricDoubleAttr2>;
458+ Elemental elemental;
459+ const VariableId x0 = elemental.AddElement <ElementType::kVariable >(" x1" );
460+ const VariableId x1 = elemental.AddElement <ElementType::kVariable >(" x2" );
461+ const VariableId x2 = elemental.AddElement <ElementType::kVariable >(" x3" );
462+
463+ const auto q01 = Key (x0, x1);
464+ const auto q21 = Key (x2, x1);
465+ const auto q12 = Key (x1, x2);
466+
467+ elemental.SetAttr (SymmetricDoubleAttr2::kObjQuadCoef , q01, 42.0 );
468+ elemental.SetAttr (SymmetricDoubleAttr2::kObjQuadCoef , q21, 43.0 );
469+ elemental.SetAttr (SymmetricDoubleAttr2::kObjQuadCoef , q12, 44.0 );
470+
471+ EXPECT_EQ (elemental.AttrNumNonDefaults (SymmetricDoubleAttr2::kObjQuadCoef ),
472+ 2 );
473+
474+ EXPECT_THAT (elemental.AttrNonDefaults (SymmetricDoubleAttr2::kObjQuadCoef ),
475+ UnorderedElementsAre (q01, q12));
476+ }
477+
456478TEST (ElementalTest, SymmetricAttr2RespondsToElementDeletionKey0) {
457479 using Key = AttrKeyFor<SymmetricDoubleAttr2>;
458480 Elemental elemental;
0 commit comments