private void checkPackedInvariants(
final TypeDeclPacked<IdentifierType, TType> tr,
final TPacked tt)
{
Assert.assertEquals(tr.getName(), tt.getName());
Assert.assertEquals(tr.getIdentifier(), tt.getIdentifier());
final ImmutableMap<FieldName, PackedFieldDeclValue<IdentifierType, TType>>
tr_named = tr.getFieldsByName();
final ImmutableMap<FieldName, TPacked.FieldValue> tt_named =
tt.getFieldsByName();
final ImmutableList<PackedFieldDeclType<IdentifierType, TType>> tr_order =
tr.getFieldsInDeclarationOrder();
final ImmutableList<TPacked.FieldType> tt_order =
tt.getFieldsInDeclarationOrder();
Assert.assertEquals((long) tt_named.size(), (long) tr_named.size());
Assert.assertEquals((long) tt_order.size(), (long) tr_order.size());
for (int index = 0; index < tt_order.size(); ++index) {
final TPacked.FieldType f = tt_order.get(index);
Assert.assertEquals(f.getOwner(), tt);
}
tt_named.forEachKey(
k -> Assert.assertTrue("Map contains " + k, tr_named.containsKey(k)));
}