| 20 | using namespace openstudio::model; |
| 21 | |
| 22 | TEST_F(ModelFixture, MaterialPropertyPhaseChange_MaterialPropertyPhaseChange) { |
| 23 | // create a model to use |
| 24 | Model model; |
| 25 | |
| 26 | // create a material object to use |
| 27 | StandardOpaqueMaterial material(model); |
| 28 | EXPECT_EQ(1, model.modelObjects().size()); |
| 29 | |
| 30 | // new material does not have material property phase change yet |
| 31 | EXPECT_FALSE(material.materialPropertyPhaseChange()); |
| 32 | |
| 33 | // create a material property phase change object to use |
| 34 | boost::optional<MaterialPropertyPhaseChange> optphaseChange = material.createMaterialPropertyPhaseChange(); |
| 35 | ASSERT_TRUE(optphaseChange); |
| 36 | EXPECT_EQ(2, model.modelObjects().size()); |
| 37 | |
| 38 | // now the material has material property phase change |
| 39 | EXPECT_TRUE(material.materialPropertyPhaseChange()); |
| 40 | |
| 41 | // check to make sure the temperature coefficient for thermal conductivity field is defaulted as expected |
| 42 | auto phaseChange = optphaseChange.get(); |
| 43 | EXPECT_EQ(material.nameString(), phaseChange.materialName()); |
| 44 | EXPECT_EQ(material.handle(), phaseChange.material().handle()); |
| 45 | EXPECT_TRUE(phaseChange.isTemperatureCoefficientforThermalConductivityDefaulted()); |
| 46 | |
| 47 | // check that creating the material property phase change when they already exists does nothing and returns nil |
| 48 | boost::optional<MaterialPropertyPhaseChange> optphaseChange2 = material.createMaterialPropertyPhaseChange(); |
| 49 | ASSERT_FALSE(optphaseChange2); |
| 50 | EXPECT_EQ(2, model.modelObjects().size()); |
| 51 | } |
| 52 | |
| 53 | // test setting and getting |
| 54 | TEST_F(ModelFixture, MaterialPropertyPhaseChange_SetGetFields) { |
nothing calls this directly
no test coverage detected