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

Function TEST_F

src/model/test/RunPeriodControlSpecialDays_GTest.cpp:26–71  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24using namespace openstudio::model;
25
26TEST_F(ModelFixture, RunPeriodControlSpecialDays) {
27 Model model;
28 model::YearDescription yd = model.getUniqueModelObject<model::YearDescription>();
29 yd.setCalendarYear(2008);
30
31 /* February 2008
32 Su Mo Tu We Th Fr Sa
33 1 2
34 3 4 5 6 7 8 9
35 10 11 12 13 14 15 16
36 17 18 19 20 21 22 23
37 24 25 26 27 28 29
38 */
39
40 RunPeriodControlSpecialDays day(MonthOfYear::Feb, 14, model);
41 ASSERT_NO_THROW(day.startDate());
42 EXPECT_EQ(14u, day.startDate().dayOfMonth());
43 EXPECT_EQ(MonthOfYear::Feb, day.startDate().monthOfYear().value());
44 EXPECT_EQ(DayOfWeek::Thursday, day.startDate().dayOfWeek().value());
45
46 day = RunPeriodControlSpecialDays(NthDayOfWeekInMonth::first, DayOfWeek::Monday, MonthOfYear::Feb, model);
47 ASSERT_NO_THROW(day.startDate());
48 EXPECT_EQ(4u, day.startDate().dayOfMonth());
49 EXPECT_EQ(MonthOfYear::Feb, day.startDate().monthOfYear().value());
50 EXPECT_EQ(DayOfWeek::Monday, day.startDate().dayOfWeek().value());
51
52 day = RunPeriodControlSpecialDays(NthDayOfWeekInMonth::fourth, DayOfWeek::Monday, MonthOfYear::Feb, model);
53 ASSERT_NO_THROW(day.startDate());
54 EXPECT_EQ(25u, day.startDate().dayOfMonth());
55 EXPECT_EQ(MonthOfYear::Feb, day.startDate().monthOfYear().value());
56 EXPECT_EQ(DayOfWeek::Monday, day.startDate().dayOfWeek().value());
57 EXPECT_EQ("4th Monday in February", day.getString(OS_RunPeriodControl_SpecialDaysFields::StartDate).get());
58
59 // there is no fifth monday, this will return the last
60 day = RunPeriodControlSpecialDays(NthDayOfWeekInMonth::fifth, DayOfWeek::Monday, MonthOfYear::Feb, model);
61 ASSERT_NO_THROW(day.startDate());
62 EXPECT_EQ(25u, day.startDate().dayOfMonth());
63 EXPECT_EQ(MonthOfYear::Feb, day.startDate().monthOfYear().value());
64 EXPECT_EQ(DayOfWeek::Monday, day.startDate().dayOfWeek().value());
65
66 day = RunPeriodControlSpecialDays(NthDayOfWeekInMonth::fifth, DayOfWeek::Friday, MonthOfYear::Feb, model);
67 ASSERT_NO_THROW(day.startDate());
68 EXPECT_EQ(29u, day.startDate().dayOfMonth());
69 EXPECT_EQ(MonthOfYear::Feb, day.startDate().monthOfYear().value());
70 EXPECT_EQ(DayOfWeek::Friday, day.startDate().dayOfWeek().value());
71}

Callers

nothing calls this directly

Calls 9

monthOfYearMethod · 0.80
dayOfWeekMethod · 0.80
setCalendarYearMethod · 0.45
startDateMethod · 0.45
dayOfMonthMethod · 0.45
valueMethod · 0.45
getMethod · 0.45
getStringMethod · 0.45

Tested by

no test coverage detected