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

Function TEST_F

src/model/test/PythonPluginInstance_GTest.cpp:19–85  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

17using namespace openstudio;
18
19TEST_F(ModelFixture, PythonPluginInstance) {
20 Model model;
21 EXPECT_EQ(0u, model.getConcreteModelObjects<ExternalFile>().size());
22 EXPECT_EQ(0u, model.getConcreteModelObjects<PythonPluginInstance>().size());
23
24 path p = resourcesPath() / toPath("model/PythonPluginThermochromicWindow.py");
25 EXPECT_TRUE(exists(p));
26
27 path expectedDestDir;
28 std::vector<path> absoluteFilePaths = model.workflowJSON().absoluteFilePaths();
29 if (absoluteFilePaths.empty()) {
30 expectedDestDir = model.workflowJSON().absoluteRootDir();
31 } else {
32 expectedDestDir = absoluteFilePaths[0];
33 }
34
35 if (exists(expectedDestDir)) {
36 removeDirectory(expectedDestDir);
37 }
38 ASSERT_FALSE(exists(expectedDestDir));
39
40 boost::optional<ExternalFile> externalfile = ExternalFile::getExternalFile(model, openstudio::toString(p));
41 ASSERT_TRUE(externalfile);
42 EXPECT_EQ(1u, model.getConcreteModelObjects<ExternalFile>().size());
43 EXPECT_EQ(0u, externalfile->pythonPluginInstances().size());
44 EXPECT_EQ(openstudio::toString(p.filename()), externalfile->fileName());
45 EXPECT_TRUE(equivalent(expectedDestDir / externalfile->fileName(), externalfile->filePath()));
46 EXPECT_TRUE(exists(externalfile->filePath()));
47 EXPECT_NE(p, externalfile->filePath());
48
49 PythonPluginInstance plugin(*externalfile, "ZN_1_wall_south_Window_1_Control");
50 EXPECT_EQ(1u, model.getConcreteModelObjects<PythonPluginInstance>().size());
51 EXPECT_EQ(1u, externalfile->pythonPluginInstances().size());
52 EXPECT_EQ(externalfile->handle(), plugin.externalFile().handle());
53 EXPECT_EQ("ZN_1_wall_south_Window_1_Control", plugin.pluginClassName());
54
55 EXPECT_FALSE(plugin.runDuringWarmupDays());
56 EXPECT_TRUE(plugin.isRunDuringWarmupDaysDefaulted());
57 plugin.setRunDuringWarmupDays(true);
58 EXPECT_TRUE(plugin.runDuringWarmupDays());
59 EXPECT_FALSE(plugin.isRunDuringWarmupDaysDefaulted());
60 plugin.resetRunDuringWarmupDays();
61 EXPECT_FALSE(plugin.runDuringWarmupDays());
62 EXPECT_TRUE(plugin.isRunDuringWarmupDaysDefaulted());
63
64 PythonPluginInstance plugin2(*externalfile, "ZN_1_wall_south_Window_1_Control");
65 EXPECT_EQ(2u, model.getConcreteModelObjects<PythonPluginInstance>().size());
66 EXPECT_EQ(2u, externalfile->pythonPluginInstances().size());
67 EXPECT_EQ(externalfile->handle(), plugin2.externalFile().handle());
68
69 plugin.remove();
70 EXPECT_EQ(1u, model.getConcreteModelObjects<ExternalFile>().size());
71 EXPECT_EQ(1u, model.getConcreteModelObjects<PythonPluginInstance>().size());
72 EXPECT_EQ(1u, externalfile->pythonPluginInstances().size());
73
74 path filePath = externalfile->filePath();
75 EXPECT_TRUE(exists(p));
76 EXPECT_TRUE(exists(filePath));

Callers

nothing calls this directly

Calls 15

removeDirectoryFunction · 0.85
absoluteFilePathsMethod · 0.80
workflowJSONMethod · 0.80
absoluteRootDirMethod · 0.80
pythonPluginInstancesMethod · 0.80
filenameMethod · 0.80
filePathMethod · 0.80
pluginClassNameMethod · 0.80
runDuringWarmupDaysMethod · 0.80

Tested by

no test coverage detected