// 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());
}
Ejemplo n.º 3
0
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;
  }