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

Function TEST_F

src/measure/test/OSArgument_GTest.cpp:18–98  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16using namespace openstudio::measure;
17
18TEST_F(MeasureFixture, OSArgument_Clone) {
19
20 std::vector<std::string> choices;
21 choices.push_back("On");
22 choices.push_back("Off");
23
24 OSArgument boolArgument = OSArgument::makeBoolArgument("bool");
25 OSArgument doubleArgument = OSArgument::makeDoubleArgument("double");
26 OSArgument integerArgument = OSArgument::makeIntegerArgument("integer");
27 OSArgument stringArgument = OSArgument::makeStringArgument("string");
28 OSArgument choiceArgument = OSArgument::makeChoiceArgument("choice", choices);
29
30 EXPECT_FALSE(boolArgument.hasValue());
31 EXPECT_FALSE(doubleArgument.hasValue());
32 EXPECT_FALSE(integerArgument.hasValue());
33 EXPECT_FALSE(stringArgument.hasValue());
34 EXPECT_FALSE(choiceArgument.hasValue());
35
36 EXPECT_TRUE(boolArgument.setValue(true));
37 EXPECT_TRUE(doubleArgument.setValue(1.0));
38 EXPECT_TRUE(doubleArgument.setValue((int)1)); // can also set double arg using int
39 EXPECT_TRUE(integerArgument.setValue((int)1));
40 EXPECT_TRUE(stringArgument.setValue(std::string("value")));
41 EXPECT_TRUE(choiceArgument.setValue(std::string("On")));
42
43 ASSERT_TRUE(boolArgument.hasValue());
44 ASSERT_TRUE(doubleArgument.hasValue());
45 ASSERT_TRUE(integerArgument.hasValue());
46 ASSERT_TRUE(stringArgument.hasValue());
47 ASSERT_TRUE(choiceArgument.hasValue());
48
49 EXPECT_EQ(true, boolArgument.valueAsBool());
50 EXPECT_EQ(1.0, doubleArgument.valueAsDouble());
51 EXPECT_EQ(1, integerArgument.valueAsInteger());
52 EXPECT_EQ("value", stringArgument.valueAsString());
53 EXPECT_EQ("On", choiceArgument.valueAsString());
54
55 OSArgument boolArgument2 = boolArgument.clone();
56 OSArgument doubleArgument2 = doubleArgument.clone();
57 OSArgument integerArgument2 = integerArgument.clone();
58 OSArgument stringArgument2 = stringArgument.clone();
59 OSArgument choiceArgument2 = choiceArgument.clone();
60
61 ASSERT_TRUE(boolArgument2.hasValue());
62 ASSERT_TRUE(doubleArgument2.hasValue());
63 ASSERT_TRUE(integerArgument2.hasValue());
64 ASSERT_TRUE(stringArgument2.hasValue());
65 ASSERT_TRUE(choiceArgument2.hasValue());
66
67 EXPECT_EQ(true, boolArgument2.valueAsBool());
68 EXPECT_EQ(1.0, doubleArgument2.valueAsDouble());
69 EXPECT_EQ(1, integerArgument2.valueAsInteger());
70 EXPECT_EQ("value", stringArgument2.valueAsString());
71 EXPECT_EQ("On", choiceArgument2.valueAsString());
72
73 std::vector<OSArgument> argumentVector;
74 argumentVector.push_back(boolArgument);
75 argumentVector.push_back(doubleArgument);

Callers

nothing calls this directly

Calls 15

valueAsBoolMethod · 0.80
clearValueMethod · 0.80
hasDomainMethod · 0.80
setMinValueMethod · 0.80
domainAsDoubleMethod · 0.80
domainAsIntegerMethod · 0.80
setMaxValueMethod · 0.80
isNullMethod · 0.80
setRequiredMethod · 0.80
push_backMethod · 0.45

Tested by

no test coverage detected