MCPcopy Create free account
hub / github.com/NatLabRockies/OpenStudio / TEST_F

Function TEST_F

src/model/test/EnergyManagementSystemProgram_GTest.cpp:35–197  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

33using std::string;
34
35TEST_F(ModelFixture, EMSProgram_EMSProgram) {
36 Model model;
37
38 Building building = model.getUniqueModelObject<Building>();
39
40 ThermalZone zone1(model);
41 ThermalZone zone2(model);
42
43 // add Site Outdoor Air Drybulb Temperature
44 OutputVariable siteOutdoorAirDrybulbTemperature("Site Outdoor Air Drybulb Temperature", model);
45
46 //add sensor
47 EnergyManagementSystemSensor OATdbSensor(model, siteOutdoorAirDrybulbTemperature);
48 OATdbSensor.setName("OATdb Sensor");
49 //OATdbSensor.setOutputVariable(siteOutdoorAirDrybulbTemperature);
50
51 //add fan
52 Schedule s = model.alwaysOnDiscreteSchedule();
53 FanConstantVolume fan(model, s);
54 fan.setName("fan");
55
56 //add actuator on fan
57 std::string fanControlType = "Fan Pressure Rise";
58 std::string ComponentType = "Fan";
59 EnergyManagementSystemActuator fanActuator(fan, ComponentType, fanControlType);
60 std::string fanName = fan.name().get() + "Pressure_Actuator";
61 fanActuator.setName(fanName);
62
63 //add program
64 EnergyManagementSystemProgram fan_program_1(model);
65 std::string programName = fan.name().get() + "Pressure_Rise_Program_by_Body";
66 fan_program_1.setName(programName);
67 //this body has /r/n in it
68 std::string fan_program_1_body = " SET mult = " + toString(OATdbSensor.handle()) + " / 15.0 !- This is nonsense\r\n SET "
69 + toString(fanActuator.handle()) + " = 250 * mult !- More nonsense";
70 //this is what the body should look like with 2 /n's and compare TRUE
71 std::string fan_program_body_test = "SET mult = " + toString(OATdbSensor.handle()) + " / 15.0 !- This is nonsense\nSET "
72 + toString(fanActuator.handle()) + " = 250 * mult !- More nonsense\n";
73 //the added lines should compare TRUE to below
74 std::string line1_test = "SET mult = " + toString(OATdbSensor.handle()) + " / 15.0 !- This is nonsense\n";
75 std::string line2_test = "SET " + toString(fanActuator.handle()) + " = 250 * mult !- More nonsense\n";
76
77 //set body
78 fan_program_1.setBody(fan_program_1_body);
79
80 //check body
81 boost::optional<std::string> body = fan_program_1.body();
82 EXPECT_EQ(fan_program_body_test, body.get());
83
84 //check lines
85 boost::optional<std::vector<std::string>> lines = fan_program_1.lines();
86 EXPECT_EQ(2, lines.get().size());
87 EXPECT_EQ(line1_test, lines.get()[0]);
88 EXPECT_EQ(line2_test, lines.get()[1]);
89
90 EXPECT_EQ(2, fan_program_1.referencedObjects().size());
91 EXPECT_EQ(true,
92 (fan_program_1.referencedObjects()[0].nameString() == fanName) || (fan_program_1.referencedObjects()[0].nameString() == "OATdb_Sensor"));

Callers

nothing calls this directly

Calls 15

nameStringMethod · 0.80
toStringFunction · 0.50
setNameMethod · 0.45
getMethod · 0.45
nameMethod · 0.45
handleMethod · 0.45
setBodyMethod · 0.45
bodyMethod · 0.45
linesMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected