| 83 | using namespace openstudio::model; |
| 84 | |
| 85 | TEST_F(ModelFixture, AirflowNetwork_Surface_SetVertices) { |
| 86 | Model model; |
| 87 | |
| 88 | Point3dVector points; |
| 89 | |
| 90 | // square with unit area |
| 91 | points.push_back(Point3d(0, 1, 0)); |
| 92 | points.push_back(Point3d(0, 0, 0)); |
| 93 | points.push_back(Point3d(1, 0, 0)); |
| 94 | points.push_back(Point3d(1, 1, 0)); |
| 95 | Surface surface(points, model); |
| 96 | EXPECT_EQ("RoofCeiling", surface.surfaceType()); |
| 97 | EXPECT_TRUE(!surface.airflowNetworkSurface()); |
| 98 | EXPECT_EQ("Outdoors", surface.outsideBoundaryCondition()); |
| 99 | |
| 100 | AirflowNetworkCrack crack0(model, 1.0, 0.5); |
| 101 | EXPECT_EQ(1, crack0.airMassFlowCoefficient()); |
| 102 | EXPECT_EQ(0.5, crack0.airMassFlowExponent()); |
| 103 | EXPECT_FALSE(crack0.referenceCrackConditions()); |
| 104 | |
| 105 | AirflowNetworkCrack crack1(model, 1.0, 0.65); |
| 106 | EXPECT_EQ(1, crack1.airMassFlowCoefficient()); |
| 107 | EXPECT_EQ(0.65, crack1.airMassFlowExponent()); |
| 108 | EXPECT_FALSE(crack1.referenceCrackConditions()); |
| 109 | |
| 110 | AirflowNetworkSurface afnsurf = surface.getAirflowNetworkSurface(crack0); |
| 111 | EXPECT_EQ(surface, afnsurf.surface()); |
| 112 | boost::optional<AirflowNetworkSurface> optsurf = surface.airflowNetworkSurface(); |
| 113 | ASSERT_TRUE(optsurf); |
| 114 | EXPECT_EQ(afnsurf, optsurf.get()); |
| 115 | ASSERT_TRUE(afnsurf.leakageComponent()); |
| 116 | EXPECT_EQ(crack0, afnsurf.leakageComponent().get()); |
| 117 | |
| 118 | ASSERT_TRUE(afnsurf.setLeakageComponent(crack1)); |
| 119 | ASSERT_TRUE(afnsurf.leakageComponent()); |
| 120 | EXPECT_EQ(crack1, afnsurf.leakageComponent().get()); |
| 121 | |
| 122 | EXPECT_FALSE(afnsurf.externalNode()); |
| 123 | |
| 124 | AirflowNetworkExternalNode extnode(model); |
| 125 | ASSERT_TRUE(afnsurf.setExternalNode(extnode)); |
| 126 | EXPECT_EQ(extnode, afnsurf.externalNode().get()); |
| 127 | } |
| 128 | |
| 129 | TEST_F(ModelFixture, AirflowNetwork_Surface_Clone) { |
| 130 | Model model; |
nothing calls this directly
no test coverage detected