// written to fail if Gas object's Gas Type field changes TEST_F(ModelFixture, FenestrationMaterial_Gas_KeyFields) { Model model; Gas gas(model); IddField gasTypeIddField = gas.iddObject().getField(OS_WindowMaterial_GasFields::GasType).get(); IddKeyVector gasTypeKeys = gasTypeIddField.keys(); ASSERT_EQ(5u,gasTypeKeys.size()); ASSERT_TRUE(gasTypeIddField.getKey("Air")); ASSERT_TRUE(gasTypeIddField.getKey("Argon")); ASSERT_TRUE(gasTypeIddField.getKey("Krypton")); ASSERT_TRUE(gasTypeIddField.getKey("Xenon")); ASSERT_TRUE(gasTypeIddField.getKey("Custom")); }
// written to fail if GasMixture's IddObject changes in ways that will break the ModelObject TEST_F(ModelFixture, FenestrationMaterial_GasMixture_IddAssumptions) { Model model; GasMixture gasMixture(model); IddField gasTypeIddField = gasMixture.iddObject().getField(OS_WindowMaterial_GasMixtureFields::Gas1Type).get(); IddKeyVector gasTypeKeys = gasTypeIddField.keys(); ASSERT_EQ(4u,gasTypeKeys.size()); ASSERT_TRUE(gasTypeIddField.getKey("Air")); ASSERT_TRUE(gasTypeIddField.getKey("Argon")); ASSERT_TRUE(gasTypeIddField.getKey("Krypton")); ASSERT_TRUE(gasTypeIddField.getKey("Xenon")); ASSERT_EQ(12u,gasMixture.iddObject().numFields()); }
TEST_F(IddFixture,IddKey_Getters) { OptionalIddObject optObject = IddFactory::instance().getObject(IddObjectType::Controller_OutdoorAir); ASSERT_TRUE(optObject); IddObject obj = *optObject; OptionalIddField f = obj.getField(Controller_OutdoorAirFields::EconomizerControlType); ASSERT_TRUE(f); EXPECT_TRUE(f->properties().type == IddFieldType::ChoiceType); IddKeyVector keys = f->keys(); EXPECT_EQ(static_cast<unsigned>(8),keys.size()); LOG(Info,"Keys for field " << Controller_OutdoorAirFields::EconomizerControlType << ", " << f->name() << ", of IddObject " << obj.name() << ":"); unsigned i = 0; BOOST_FOREACH(IddKey& key,keys) { LOG(Info," Key " << i << ": " << key.name()); ++i; }