| 23 | using namespace openstudio; |
| 24 | |
| 25 | TEST_F(ModelFixture, Schedule_Year) { |
| 26 | Model model; |
| 27 | |
| 28 | openstudio::model::YearDescription yd = model.getUniqueModelObject<openstudio::model::YearDescription>(); |
| 29 | |
| 30 | ScheduleWeek weekSchedule1(model); |
| 31 | ScheduleWeek weekSchedule2(model); |
| 32 | ScheduleWeek weekSchedule3(model); |
| 33 | |
| 34 | // clear the schedule |
| 35 | ScheduleYear yearSchedule(model); |
| 36 | |
| 37 | EXPECT_EQ(0u, yearSchedule.dates().size()); |
| 38 | EXPECT_EQ(0u, yearSchedule.scheduleWeeks().size()); |
| 39 | |
| 40 | EXPECT_FALSE(yearSchedule.getScheduleWeek(yd.makeDate(1, 1))); |
| 41 | EXPECT_FALSE(yearSchedule.getScheduleWeek(yd.makeDate(6, 1))); |
| 42 | EXPECT_FALSE(yearSchedule.getScheduleWeek(yd.makeDate(12, 31))); |
| 43 | |
| 44 | // until 3/1 weekSchedule1 |
| 45 | EXPECT_TRUE(yearSchedule.addScheduleWeek(yd.makeDate(3, 1), weekSchedule1)); |
| 46 | |
| 47 | ASSERT_EQ(1u, yearSchedule.dates().size()); |
| 48 | EXPECT_EQ(yd.makeDate(3, 1), yearSchedule.dates()[0]); |
| 49 | ASSERT_EQ(1u, yearSchedule.scheduleWeeks().size()); |
| 50 | EXPECT_EQ(weekSchedule1.handle(), yearSchedule.scheduleWeeks()[0].handle()); |
| 51 | |
| 52 | ASSERT_TRUE(yearSchedule.getScheduleWeek(yd.makeDate(1, 1))); |
| 53 | EXPECT_EQ(weekSchedule1.handle(), yearSchedule.getScheduleWeek(yd.makeDate(1, 1))->handle()); |
| 54 | EXPECT_FALSE(yearSchedule.getScheduleWeek(yd.makeDate(6, 1))); |
| 55 | EXPECT_FALSE(yearSchedule.getScheduleWeek(yd.makeDate(12, 31))); |
| 56 | |
| 57 | // until 3/1 weekSchedule1, until 7/1 weekSchedule2 |
| 58 | EXPECT_TRUE(yearSchedule.addScheduleWeek(yd.makeDate(7, 1), weekSchedule2)); |
| 59 | |
| 60 | ASSERT_EQ(2u, yearSchedule.dates().size()); |
| 61 | EXPECT_EQ(yd.makeDate(3, 1), yearSchedule.dates()[0]); |
| 62 | EXPECT_EQ(yd.makeDate(7, 1), yearSchedule.dates()[1]); |
| 63 | ASSERT_EQ(2u, yearSchedule.scheduleWeeks().size()); |
| 64 | EXPECT_EQ(weekSchedule1.handle(), yearSchedule.scheduleWeeks()[0].handle()); |
| 65 | EXPECT_EQ(weekSchedule2.handle(), yearSchedule.scheduleWeeks()[1].handle()); |
| 66 | |
| 67 | ASSERT_TRUE(yearSchedule.getScheduleWeek(yd.makeDate(1, 1))); |
| 68 | EXPECT_EQ(weekSchedule1.handle(), yearSchedule.getScheduleWeek(yd.makeDate(1, 1))->handle()); |
| 69 | ASSERT_TRUE(yearSchedule.getScheduleWeek(yd.makeDate(6, 1))); |
| 70 | EXPECT_EQ(weekSchedule2.handle(), yearSchedule.getScheduleWeek(yd.makeDate(6, 1))->handle()); |
| 71 | EXPECT_FALSE(yearSchedule.getScheduleWeek(yd.makeDate(12, 31))); |
| 72 | |
| 73 | // until 3/1 weekSchedule1, until 7/1 weekSchedule2, until 12/31 weekSchedule3 |
| 74 | EXPECT_TRUE(yearSchedule.addScheduleWeek(yd.makeDate(12, 31), weekSchedule3)); |
| 75 | |
| 76 | ASSERT_EQ(3u, yearSchedule.dates().size()); |
| 77 | EXPECT_EQ(yd.makeDate(3, 1), yearSchedule.dates()[0]); |
| 78 | EXPECT_EQ(yd.makeDate(7, 1), yearSchedule.dates()[1]); |
| 79 | EXPECT_EQ(yd.makeDate(12, 31), yearSchedule.dates()[2]); |
| 80 | ASSERT_EQ(3u, yearSchedule.scheduleWeeks().size()); |
| 81 | EXPECT_EQ(weekSchedule1.handle(), yearSchedule.scheduleWeeks()[0].handle()); |
| 82 | EXPECT_EQ(weekSchedule2.handle(), yearSchedule.scheduleWeeks()[1].handle()); |
nothing calls this directly
no test coverage detected