예제 #1
0
TEST_F(ModelFixture, ScheduleRuleset_DaySchedule)
{
  Model model;
  ScheduleRuleset schedule(model);
  ScheduleDay daySchedule = schedule.defaultDaySchedule();
  EXPECT_TRUE(daySchedule.setName("My Day Schedule"));
  ASSERT_TRUE(daySchedule.name());
  EXPECT_EQ("My Day Schedule", daySchedule.name().get());
}
예제 #2
0
TEST_F(ModelFixture, ScheduleRuleset_InsertObjects)
{
  Model model;
  ScheduleTypeLimits typeLimits(model);

  ScheduleRuleset schedule(model);
  schedule.setName("Always_On");
  EXPECT_EQ("Always_On", schedule.name().get());
  schedule.setScheduleTypeLimits(typeLimits);

  ScheduleRule rule(schedule);
  rule.setName("Always_On Rule 1");
  EXPECT_EQ("Always_On Rule 1", rule.name().get());

  ScheduleDay daySchedule = rule.daySchedule();
  daySchedule.setName("Always_On Rule 1 Day Schedule");
  EXPECT_EQ("Always_On Rule 1 Day Schedule", daySchedule.name().get());
  daySchedule.setScheduleTypeLimits(typeLimits);

  // clone does not preserve handles
  Workspace workspace1 = model.clone();
  Workspace workspace2 = model.clone();

  IdfObjectVector idfObjects1;
  for (const WorkspaceObject& object : workspace1.objects()){
    // this handle should not exist in the original model
    EXPECT_FALSE(model.getObject(object.handle()));

    idfObjects1.push_back(object.idfObject());
  }

  IdfObjectVector idfObjects2;
  for (const WorkspaceObject& object : workspace2.objects()){
    // this handle should not exist in the original model
    EXPECT_FALSE(model.getObject(object.handle()));

    idfObjects2.push_back(object.idfObject());
  }

  std::vector<WorkspaceObject> insertedObjects = model.insertObjects(idfObjects1);

  // DLM: I do not know what the correct operation is here, should the number of objects in
  // the model stay constant?

  // the insert should not fail
  EXPECT_FALSE(insertedObjects.empty());

  std::vector<WorkspaceObject> addedObjects = model.addObjects(idfObjects2);

  // the add should not fail
  EXPECT_FALSE(addedObjects.empty());
}