本文整理汇总了C++中Workspace::getObjectsByType方法的典型用法代码示例。如果您正苦于以下问题:C++ Workspace::getObjectsByType方法的具体用法?C++ Workspace::getObjectsByType怎么用?C++ Workspace::getObjectsByType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Workspace
的用法示例。
在下文中一共展示了Workspace::getObjectsByType方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: eifmui
TEST_F(EnergyPlusFixture, ForwardTranslator_ExternalInterfaceFunctionalMockupUnitImportToSchedule) {
Model model;
ExternalInterfaceFunctionalMockupUnitImport eifmui(model, "test name");
ExternalInterfaceFunctionalMockupUnitImportToSchedule schedule(model, eifmui, "FMU", "FMU name", 10);
ForwardTranslator forwardTranslator;
Workspace workspace = forwardTranslator.translateModel(model);
EXPECT_EQ(0u, forwardTranslator.errors().size());
EXPECT_EQ(1u, workspace.getObjectsByType(IddObjectType::ExternalInterface_FunctionalMockupUnitImport_To_Schedule).size());
//EXPECT_EQ(1u, workspace.getObjectsByType(IddObjectType::ScheduleTypeLimits).size());
WorkspaceObject object = workspace.getObjectsByType(IddObjectType::ExternalInterface_FunctionalMockupUnitImport_To_Schedule)[0];
//WorkspaceObject object2 = workspace.getObjectsByType(IddObjectType::ScheduleTypeLimits)[0];
ASSERT_TRUE(object.getString(ExternalInterface_FunctionalMockupUnitImport_To_ScheduleFields::Name, false));
EXPECT_EQ("External Interface Functional Mockup Unit Import To Schedule 1", object.getString(ExternalInterface_FunctionalMockupUnitImport_To_ScheduleFields::Name, false).get());
ASSERT_TRUE(object.getString(ExternalInterface_FunctionalMockupUnitImport_To_ScheduleFields::ScheduleTypeLimitsNames, false));
//EXPECT_EQ(object2.nameString(), object.getString(ExternalInterface_FunctionalMockupUnitImport_To_ScheduleFields::ScheduleTypeLimitsNames, false).get());
ASSERT_TRUE(object.getString(ExternalInterface_FunctionalMockupUnitImport_To_ScheduleFields::FMUFileName, false));
EXPECT_EQ(eifmui.fMUFileName(), object.getString(ExternalInterface_FunctionalMockupUnitImport_To_ScheduleFields::FMUFileName, false).get());
ASSERT_TRUE(object.getString(ExternalInterface_FunctionalMockupUnitImport_To_ScheduleFields::FMUInstanceName, false));
EXPECT_EQ("FMU", object.getString(ExternalInterface_FunctionalMockupUnitImport_To_ScheduleFields::FMUInstanceName, false).get());
ASSERT_TRUE(object.getString(ExternalInterface_FunctionalMockupUnitImport_To_ScheduleFields::FMUVariableName, false));
EXPECT_EQ("FMU name", object.getString(ExternalInterface_FunctionalMockupUnitImport_To_ScheduleFields::FMUVariableName, false).get());
ASSERT_TRUE(object.getDouble(ExternalInterface_FunctionalMockupUnitImport_To_ScheduleFields::InitialValue, false));
EXPECT_EQ(10.0, object.getDouble(ExternalInterface_FunctionalMockupUnitImport_To_ScheduleFields::InitialValue, false).get());
model.save(toPath("./ExternalInterfaceFunctionalMockupUnitImportToSchedule.osm"), true);
workspace.save(toPath("./ExternalInterfaceFunctionalMockupUnitImportToSchedule.idf"), true);
}
示例2: schedule
TEST_F(EnergyPlusFixture, ForwardTranslator_ExternalInterfaceSchedule) {
Model model;
ExternalInterfaceSchedule schedule(model, 10);
EXPECT_EQ(10.0, schedule.initialValue());
EXPECT_EQ("External Interface Schedule 1", schedule.nameString());
ForwardTranslator forwardTranslator;
Workspace workspace = forwardTranslator.translateModel(model);
EXPECT_EQ(0u, forwardTranslator.errors().size());
EXPECT_EQ(1u, workspace.getObjectsByType(IddObjectType::ExternalInterface_Schedule).size());
//EXPECT_EQ(1u, workspace.getObjectsByType(IddObjectType::ScheduleTypeLimits).size());
WorkspaceObject object = workspace.getObjectsByType(IddObjectType::ExternalInterface_Schedule)[0];
//WorkspaceObject object2 = workspace.getObjectsByType(IddObjectType::ScheduleTypeLimits)[0];
ASSERT_TRUE(object.getString(ExternalInterface_ScheduleFields::Name, false));
EXPECT_EQ("External Interface Schedule 1", object.getString(ExternalInterface_ScheduleFields::Name, false).get());
ASSERT_TRUE(object.getString(ExternalInterface_ScheduleFields::ScheduleTypeLimitsName, false));
//EXPECT_EQ(object2.nameString(), object.getString(ExternalInterface_ScheduleFields::ScheduleTypeLimitsName, false).get());
ASSERT_TRUE(object.getDouble(ExternalInterface_ScheduleFields::InitialValue, false));
EXPECT_EQ(10.0, object.getDouble(ExternalInterface_ScheduleFields::InitialValue, false).get());
model.save(toPath("./ExternalInterfaceSchedule.osm"), true);
workspace.save(toPath("./ExternalInterfaceSchedule.idf"), true);
}
示例3: spaceType
TEST_F(EnergyPlusFixture,ForwardTranslator_ThermalZone_OneZone_OneSpace_Building)
{
Model model;
Point3dVector points;
points.push_back(Point3d(0, 0, 0));
points.push_back(Point3d(0, 1, 0));
points.push_back(Point3d(1, 1, 0));
points.push_back(Point3d(1, 0, 0));
SpaceType spaceType(model);
spaceType.setLightingPowerPerFloorArea(1);
Building building = model.getUniqueModelObject<Building>();
building.setSpaceType(spaceType);
ThermalZone zone(model);
Space space(model);
space.setThermalZone(zone);
Surface surface(points, model);
surface.setSpace(space);
EXPECT_EQ(1, space.floorArea());
EXPECT_EQ(1, space.lightingPowerPerFloorArea());
ForwardTranslator trans;
Workspace workspace = trans.translateModel(model);
EXPECT_EQ(1u, workspace.getObjectsByType(IddObjectType::Zone).size());
EXPECT_EQ(1u, workspace.getObjectsByType(IddObjectType::ZoneList).size());
EXPECT_EQ(1u, workspace.getObjectsByType(IddObjectType::Lights).size());
}
示例4: thermalZone
TEST_F(EnergyPlusFixture,ForwardTranslator_Surface_Zone)
{
Model model;
ThermalZone thermalZone(model);
Space space(model);
space.setThermalZone(thermalZone);
Point3dVector points;
points.push_back(Point3d(0, 1, 0));
points.push_back(Point3d(0, 0, 0));
points.push_back(Point3d(1, 0, 0));
points.push_back(Point3d(1, 1, 0));
Surface surface(points, model);
surface.setSpace(space);
ForwardTranslator forwardTranslator;
Workspace workspace = forwardTranslator.translateModel(model);
EXPECT_EQ(0u, forwardTranslator.errors().size());
EXPECT_EQ(0u, forwardTranslator.warnings().size());
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::BuildingSurface_Detailed).size());
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::Zone).size());
WorkspaceObject surfaceObject = workspace.getObjectsByType(IddObjectType::BuildingSurface_Detailed)[0];
WorkspaceObject zoneObject = workspace.getObjectsByType(IddObjectType::Zone)[0];
ASSERT_TRUE(surfaceObject.getTarget(BuildingSurface_DetailedFields::ZoneName));
EXPECT_EQ(zoneObject.handle(), surfaceObject.getTarget(BuildingSurface_DetailedFields::ZoneName)->handle());
}
示例5:
TEST_F(EnergyPlusFixture,ForwardTranslator_Building2)
{
Model model;
Building building = model.getUniqueModelObject<Building>();
building.setName("Building");
Site site = model.getUniqueModelObject<Site>();
SimulationControl simulationControl = model.getUniqueModelObject<SimulationControl>();
ForwardTranslator forwardTranslator;
Workspace workspace = forwardTranslator.translateModel(model);
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::Building).size());
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::Site_Location).size());
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::SimulationControl).size());
WorkspaceObject object = workspace.getObjectsByType(IddObjectType::Building)[0];
ASSERT_TRUE(object.getString(BuildingFields::Name));
EXPECT_EQ("Building", object.getString(BuildingFields::Name).get());
EXPECT_TRUE(object.isEmpty(BuildingFields::NorthAxis));
EXPECT_TRUE(object.isEmpty(BuildingFields::Terrain));
EXPECT_TRUE(object.isEmpty(BuildingFields::LoadsConvergenceToleranceValue));
EXPECT_TRUE(object.isEmpty(BuildingFields::TemperatureConvergenceToleranceValue));
EXPECT_TRUE(object.isEmpty(BuildingFields::SolarDistribution));
EXPECT_TRUE(object.isEmpty(BuildingFields::MaximumNumberofWarmupDays));
}
示例6: thermalZone
TEST_F(EnergyPlusFixture,ForwardTranslator_ShadingSurface_Space)
{
Model model;
ThermalZone thermalZone(model);
Point3dVector points;
points.push_back(Point3d(0,1,0));
points.push_back(Point3d(1,1,0));
points.push_back(Point3d(1,0,0));
points.push_back(Point3d(0,0,0));
boost::optional<Space> space = Space::fromFloorPrint(points, 1, model);
ASSERT_TRUE(space);
space->setThermalZone(thermalZone);
ShadingSurfaceGroup shadingSurfaceGroup(model);
EXPECT_TRUE(shadingSurfaceGroup.setSpace(*space));
ShadingSurface shadingSurface(points, model);
EXPECT_TRUE(shadingSurface.setShadingSurfaceGroup(shadingSurfaceGroup));
ForwardTranslator forwardTranslator;
Workspace workspace = forwardTranslator.translateModel(model);
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::Zone).size());
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::Shading_Zone_Detailed).size());
WorkspaceObject zoneObject = workspace.getObjectsByType(IddObjectType::Zone)[0];
WorkspaceObject shadingSurfaceObject = workspace.getObjectsByType(IddObjectType::Shading_Zone_Detailed)[0];
EXPECT_TRUE(shadingSurfaceObject.getTarget(Shading_Zone_DetailedFields::BaseSurfaceName));
}
示例7: infiltration
TEST_F(EnergyPlusFixture,ForwardTranslator_SpaceInfiltrationEffectiveLeakageArea_NoSpace)
{
Model model;
SpaceInfiltrationEffectiveLeakageArea infiltration(model);
ForwardTranslator forwardTranslator;
Workspace workspace = forwardTranslator.translateModel(model);
EXPECT_EQ(0u, forwardTranslator.errors().size());
EXPECT_EQ(0u, forwardTranslator.warnings().size());
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::ZoneInfiltration_EffectiveLeakageArea).size());
WorkspaceObject object = workspace.getObjectsByType(IddObjectType::ZoneInfiltration_EffectiveLeakageArea)[0];
EXPECT_TRUE(object.isEmpty(ZoneInfiltration_EffectiveLeakageAreaFields::ZoneName));
}
示例8: construction
TEST_F(EnergyPlusFixture,ForwardTranslator_Surface_DefaultConstruction)
{
Model model;
Construction construction(model);
DefaultSurfaceConstructions defaultSurfaceConstructions(model);
defaultSurfaceConstructions.setRoofCeilingConstruction(construction);
DefaultConstructionSet defaultConstructionSet(model);
defaultConstructionSet.setDefaultExteriorSurfaceConstructions(defaultSurfaceConstructions);
Building building = model.getUniqueModelObject<Building>();
building.setDefaultConstructionSet(defaultConstructionSet);
Space space(model);
ThermalZone zone(model);
EXPECT_TRUE(space.setThermalZone(zone));
Point3dVector points;
points.push_back(Point3d(0, 1, 0));
points.push_back(Point3d(0, 0, 0));
points.push_back(Point3d(1, 0, 0));
points.push_back(Point3d(1, 1, 0));
Surface surface(points, model);
surface.setSpace(space);
EXPECT_EQ("RoofCeiling", surface.surfaceType());
EXPECT_EQ("Outdoors", surface.outsideBoundaryCondition());
EXPECT_FALSE(surface.adjacentSurface());
ASSERT_TRUE(surface.construction());
EXPECT_TRUE(surface.isConstructionDefaulted());
EXPECT_EQ(construction.handle(), surface.construction()->handle());
ForwardTranslator forwardTranslator;
Workspace workspace = forwardTranslator.translateModel(model);
EXPECT_EQ(0u, forwardTranslator.errors().size());
EXPECT_EQ(0u, forwardTranslator.warnings().size());
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::BuildingSurface_Detailed).size());
ASSERT_EQ(1u, workspace.getObjectsByType(IddObjectType::Construction).size());
WorkspaceObject surfaceObject = workspace.getObjectsByType(IddObjectType::BuildingSurface_Detailed)[0];
WorkspaceObject constructionObject = workspace.getObjectsByType(IddObjectType::Construction)[0];
ASSERT_TRUE(surfaceObject.getTarget(BuildingSurface_DetailedFields::ConstructionName));
EXPECT_EQ(constructionObject.handle(), surfaceObject.getTarget(BuildingSurface_DetailedFields::ConstructionName)->handle());
}
示例9: construction
TEST_F(EnergyPlusFixture,ForwardTranslatorTest_TranslateConstruction) {
openstudio::model::Model model;
openstudio::model::StandardOpaqueMaterial mat1(model);
mat1.setName("test layer0");
mat1.setRoughness("MediumRough");
mat1.setThickness(0.02);
mat1.setThermalConductivity(1.5);
mat1.setDensity(20.0);
mat1.setSpecificHeat(2.0);
openstudio::model::StandardOpaqueMaterial mat2(model);
mat2.setName("test layer1");
mat2.setRoughness("MediumSmooth");
mat2.setThickness(0.005);
mat2.setThermalConductivity(0.3);
mat2.setDensity(3.0);
mat2.setSpecificHeat(0.3);
openstudio::model::Construction construction(model);
construction.setName("test construction");
construction.insertLayer(0, mat1);
construction.insertLayer(1, mat2);
ForwardTranslator trans;
Workspace workspace = trans.translateModelObject(construction);
ASSERT_EQ(1u, workspace.numObjectsOfType(IddObjectType::Construction));
IdfObject constructionIdf = workspace.getObjectsByType(IddObjectType::Construction)[0];
EXPECT_EQ(unsigned(3), constructionIdf.numFields());
EXPECT_EQ("test construction", *(constructionIdf.name()) );
EXPECT_EQ("test layer0", *(constructionIdf.getString(1)) );
EXPECT_EQ("test layer1", *(constructionIdf.getString(2)) );
}
示例10: avm
TEST_F(EnergyPlusFixture, ForwardTranslator_AvailabilityManagerScheduledOff) {
Model m;
AvailabilityManagerScheduledOff avm(m);
// Test Schedule
ScheduleConstant sch(m);
sch.setValue(50);
EXPECT_TRUE(avm.setSchedule(sch));
// Assign it to a plant loop
PlantLoop p(m);
p.addAvailabilityManager(avm);
// ForwardTranslate
ForwardTranslator forwardTranslator;
Workspace workspace = forwardTranslator.translateModel(m);
WorkspaceObjectVector idfObjs(workspace.getObjectsByType(IddObjectType::AvailabilityManager_ScheduledOff));
EXPECT_EQ(1u, idfObjs.size());
WorkspaceObject idf_avm(idfObjs[0]);
// Schedule Name
ASSERT_EQ(sch.name().get(), idf_avm.getString(AvailabilityManager_ScheduledOffFields::ScheduleName).get());
}
示例11: zone
TEST_F(EnergyPlusFixture,ForwardTranslator_SpaceInfiltrationDesignFlowRate)
{
Model model;
ThermalZone zone(model);
Space space(model);
space.setThermalZone(zone);
SpaceInfiltrationDesignFlowRate infiltration(model);
infiltration.setSpace(space);
infiltration.setFlowperExteriorWallArea(1.0);
ForwardTranslator ft;
Workspace workspace = ft.translateModel(model);
std::vector<WorkspaceObject> objects = workspace.getObjectsByType(IddObjectType::ZoneInfiltration_DesignFlowRate);
ASSERT_EQ(1u, objects.size());
ASSERT_TRUE(objects[0].getString(ZoneInfiltration_DesignFlowRateFields::DesignFlowRateCalculationMethod));
EXPECT_EQ("Flow/ExteriorWallArea", objects[0].getString(ZoneInfiltration_DesignFlowRateFields::DesignFlowRateCalculationMethod).get());
EXPECT_FALSE(objects[0].getDouble(ZoneInfiltration_DesignFlowRateFields::DesignFlowRate));
EXPECT_FALSE(objects[0].getDouble(ZoneInfiltration_DesignFlowRateFields::FlowperZoneFloorArea));
ASSERT_TRUE(objects[0].getDouble(ZoneInfiltration_DesignFlowRateFields::FlowperExteriorSurfaceArea));
EXPECT_EQ(1.0, objects[0].getDouble(ZoneInfiltration_DesignFlowRateFields::FlowperExteriorSurfaceArea).get());
EXPECT_FALSE(objects[0].getDouble(ZoneInfiltration_DesignFlowRateFields::AirChangesperHour));
}
示例12: mat
TEST_F(EnergyPlusFixture,ForwardTranslatorTest_TranslateStandardOpaqueMaterial) {
openstudio::model::Model model;
openstudio::model::StandardOpaqueMaterial mat(model);
mat.setName("Test Material");
mat.setRoughness("Rough");
mat.setThickness(0.0125);
mat.setThermalConductivity(0.5);
mat.setDensity(3.5);
mat.setSpecificHeat(2.5);
mat.setThermalAbsorptance(0.9);
mat.setSolarAbsorptance(0.7);
mat.setVisibleAbsorptance(0.7);
ForwardTranslator trans;
Workspace workspace = trans.translateModelObject(mat);
ASSERT_EQ(1u, workspace.numObjectsOfType(IddObjectType::Material));
openstudio::IdfObject matIdf = workspace.getObjectsByType(IddObjectType::Material)[0];
EXPECT_EQ(unsigned(9), matIdf.numFields());
EXPECT_EQ( "Test Material", *(matIdf.name()) );
EXPECT_EQ( "Rough", *(matIdf.getString(1)) );
EXPECT_EQ( 0.0125, *(matIdf.getDouble(2)) );
EXPECT_EQ( 0.5, *(matIdf.getDouble(3)) );
EXPECT_EQ( 3.5, *(matIdf.getDouble(4)) );
EXPECT_EQ( 2.5, *(matIdf.getDouble(5)) );
EXPECT_EQ( 0.9, *(matIdf.getDouble(6)) );
EXPECT_EQ( 0.7, *(matIdf.getDouble(7)) );
EXPECT_EQ( 0.7, *(matIdf.getDouble(8)) );
}
示例13: zone
TEST_F(EnergyPlusFixture,ForwardTranslator_ThermalZone_OneZone_TwoSpaces_DifferentSpaceType)
{
Model model;
Point3dVector points;
points.push_back(Point3d(0, 0, 0));
points.push_back(Point3d(0, 1, 0));
points.push_back(Point3d(1, 1, 0));
points.push_back(Point3d(1, 0, 0));
SpaceType spaceType1(model);
spaceType1.setLightingPowerPerFloorArea(1);
SpaceType spaceType2(model);
spaceType2.setLightingPowerPerFloorArea(2);
ThermalZone zone(model);
Space space1(model);
space1.setThermalZone(zone);
space1.setSpaceType(spaceType1);
Space space2(model);
space2.setThermalZone(zone);
space2.setSpaceType(spaceType2);
Surface surface1(points, model);
surface1.setSpace(space1);
Surface surface2(points, model);
surface2.setSpace(space2);
EXPECT_EQ(1, space1.floorArea());
EXPECT_EQ(1, space2.floorArea());
EXPECT_EQ(1, space1.lightingPowerPerFloorArea());
EXPECT_EQ(2, space2.lightingPowerPerFloorArea());
ForwardTranslator trans;
Workspace workspace = trans.translateModel(model);
EXPECT_EQ(1u, workspace.getObjectsByType(IddObjectType::Zone).size());
EXPECT_EQ(0u, workspace.getObjectsByType(IddObjectType::ZoneList).size());
EXPECT_EQ(2u, workspace.getObjectsByType(IddObjectType::Lights).size());
}
示例14: thermalZone
TEST_F(EnergyPlusFixture,ForwardTranslator_IlluminanceMap)
{
Model model;
ThermalZone thermalZone(model);
Space space(model);
space.setThermalZone(thermalZone);
IlluminanceMap illuminanceMap(model);
illuminanceMap.setSpace(space);
EXPECT_TRUE(thermalZone.setIlluminanceMap(illuminanceMap));
ForwardTranslator forwardTranslator;
Workspace workspace = forwardTranslator.translateModel(model);
EXPECT_EQ(1u, workspace.getObjectsByType(IddObjectType::Output_IlluminanceMap).size());
// automatically added
EXPECT_EQ(1u, workspace.getObjectsByType(IddObjectType::Daylighting_Controls).size());
}
示例15: scheduleRuleset
TEST_F(EnergyPlusFixture,ForwardTranslator_ScheduleRuleset_Simple)
{
Model model;
ScheduleRuleset scheduleRuleset(model);
// annual weekday rule
ScheduleRule rule2(scheduleRuleset);
rule2.setApplySunday(false);
rule2.setApplyMonday(true);
rule2.setApplyTuesday(true);
rule2.setApplyWednesday(true);
rule2.setApplyThursday(true);
rule2.setApplyFriday(true);
rule2.setApplySaturday(false);
// annual weekend rule
ScheduleRule rule1(scheduleRuleset);
rule1.setApplySunday(true);
rule1.setApplyMonday(false);
rule1.setApplyTuesday(false);
rule1.setApplyWednesday(false);
rule1.setApplyThursday(false);
rule1.setApplyFriday(false);
rule1.setApplySaturday(true);
ForwardTranslator ft;
Workspace workspace = ft.translateModel(model);
std::vector<WorkspaceObject> scheduleYears = workspace.getObjectsByType(IddObjectType::Schedule_Year);
ASSERT_EQ(1u, scheduleYears.size());
std::vector<IdfExtensibleGroup> extensibleGroups = scheduleYears[0].extensibleGroups();
ASSERT_EQ(2u, extensibleGroups.size());
// based on 2009 assumed year
// 1/1-1/3
ASSERT_TRUE(extensibleGroups[0].getInt(Schedule_YearExtensibleFields::StartMonth));
EXPECT_EQ(1, extensibleGroups[0].getInt(Schedule_YearExtensibleFields::StartMonth).get());
ASSERT_TRUE(extensibleGroups[0].getInt(Schedule_YearExtensibleFields::StartDay));
EXPECT_EQ(1, extensibleGroups[0].getInt(Schedule_YearExtensibleFields::StartDay).get());
ASSERT_TRUE(extensibleGroups[0].getInt(Schedule_YearExtensibleFields::EndMonth));
EXPECT_EQ(1, extensibleGroups[0].getInt(Schedule_YearExtensibleFields::EndMonth).get());
ASSERT_TRUE(extensibleGroups[0].getInt(Schedule_YearExtensibleFields::EndDay));
EXPECT_EQ(3, extensibleGroups[0].getInt(Schedule_YearExtensibleFields::EndDay).get());
// 1/4-12/31
ASSERT_TRUE(extensibleGroups[1].getInt(Schedule_YearExtensibleFields::StartMonth));
EXPECT_EQ(1, extensibleGroups[1].getInt(Schedule_YearExtensibleFields::StartMonth).get());
ASSERT_TRUE(extensibleGroups[1].getInt(Schedule_YearExtensibleFields::StartDay));
EXPECT_EQ(4, extensibleGroups[1].getInt(Schedule_YearExtensibleFields::StartDay).get());
ASSERT_TRUE(extensibleGroups[1].getInt(Schedule_YearExtensibleFields::EndMonth));
EXPECT_EQ(12, extensibleGroups[1].getInt(Schedule_YearExtensibleFields::EndMonth).get());
ASSERT_TRUE(extensibleGroups[1].getInt(Schedule_YearExtensibleFields::EndDay));
EXPECT_EQ(31, extensibleGroups[1].getInt(Schedule_YearExtensibleFields::EndDay).get());
}