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

Function TEST_F

src/model/test/PythonPluginVariable_GTest.cpp:19–105  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

17using namespace openstudio::model;
18
19TEST_F(ModelFixture, PythonPluginVariable) {
20 Model m;
21 PythonPluginVariable var(m);
22 var.setName("My PythonPluginVariable");
23
24 EXPECT_EQ(0, var.pythonPluginTrendVariables().size());
25 EXPECT_EQ(0, var.pythonPluginOutputVariables().size());
26
27 PythonPluginTrendVariable pyTrendVar(var);
28 EXPECT_EQ(var, pyTrendVar.pythonPluginVariable());
29 EXPECT_EQ(1, var.pythonPluginTrendVariables().size());
30 EXPECT_EQ(0, var.pythonPluginOutputVariables().size());
31
32 PythonPluginOutputVariable pyOutVar(var);
33 EXPECT_EQ(var, pyOutVar.pythonPluginVariable());
34 EXPECT_EQ(1, var.pythonPluginTrendVariables().size());
35 EXPECT_EQ(1, var.pythonPluginOutputVariables().size());
36
37 PythonPluginOutputVariable pyOutVar2(var);
38 EXPECT_EQ(var, pyOutVar2.pythonPluginVariable());
39 EXPECT_EQ(1, var.pythonPluginTrendVariables().size());
40 EXPECT_EQ(2, var.pythonPluginOutputVariables().size());
41
42 EXPECT_EQ(1, m.getConcreteModelObjects<PythonPluginVariable>().size());
43 EXPECT_EQ(1, m.getConcreteModelObjects<PythonPluginTrendVariable>().size());
44 EXPECT_EQ(2, m.getConcreteModelObjects<PythonPluginOutputVariable>().size());
45
46 // Clone
47 auto varClone = var.clone(m).cast<PythonPluginVariable>();
48
49 EXPECT_EQ(2, m.getConcreteModelObjects<PythonPluginVariable>().size());
50 EXPECT_EQ(2, m.getConcreteModelObjects<PythonPluginTrendVariable>().size());
51 EXPECT_EQ(4, m.getConcreteModelObjects<PythonPluginOutputVariable>().size());
52
53 EXPECT_EQ(var, pyTrendVar.pythonPluginVariable());
54 EXPECT_EQ(var, pyOutVar.pythonPluginVariable());
55 EXPECT_EQ(var, pyOutVar2.pythonPluginVariable());
56 EXPECT_EQ(1, var.pythonPluginTrendVariables().size());
57 EXPECT_EQ(2, var.pythonPluginOutputVariables().size());
58
59 ASSERT_EQ(1, varClone.pythonPluginTrendVariables().size());
60 EXPECT_NE(pyTrendVar, varClone.pythonPluginTrendVariables().front());
61 ASSERT_EQ(2, varClone.pythonPluginOutputVariables().size());
62 EXPECT_NE(pyOutVar, varClone.pythonPluginOutputVariables().front());
63 EXPECT_NE(pyOutVar2, varClone.pythonPluginOutputVariables().front());
64 EXPECT_NE(pyOutVar, varClone.pythonPluginOutputVariables().back());
65 EXPECT_NE(pyOutVar2, varClone.pythonPluginOutputVariables().back());
66
67 pyOutVar.remove();
68 EXPECT_EQ(2, m.getConcreteModelObjects<PythonPluginTrendVariable>().size());
69 EXPECT_EQ(3, m.getConcreteModelObjects<PythonPluginOutputVariable>().size());
70 EXPECT_EQ(var, pyTrendVar.pythonPluginVariable());
71 EXPECT_EQ(var, pyOutVar2.pythonPluginVariable());
72 ASSERT_EQ(1, var.pythonPluginTrendVariables().size());
73 EXPECT_EQ(pyTrendVar, var.pythonPluginTrendVariables().front());
74 ASSERT_EQ(1, var.pythonPluginOutputVariables().size());
75 EXPECT_EQ(pyOutVar2, var.pythonPluginOutputVariables().front());
76

Callers

nothing calls this directly

Calls 7

setNameMethod · 0.45
sizeMethod · 0.45
pythonPluginVariableMethod · 0.45
cloneMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected