def test_equipment_lockability(): """Test the lockability of ElectricEquipment objects.""" weekday_office = ScheduleDay( 'Weekday Office Equip', [0, 1, 0], [Time(0, 0), Time(9, 0), Time(17, 0)]) saturday_office = ScheduleDay( 'Saturday Office Equip', [0, 0.25, 0], [Time(0, 0), Time(9, 0), Time(17, 0)]) weekend_rule = ScheduleRule(saturday_office) weekend_rule.apply_weekend = True schedule = ScheduleRuleset('Office Equip', weekday_office, [weekend_rule], schedule_types.fractional) equipment = ElectricEquipment('Open Office Zone Equip', 10, schedule) equipment.watts_per_area = 6 equipment.lock() with pytest.raises(AttributeError): equipment.watts_per_area = 8 with pytest.raises(AttributeError): equipment.schedule.default_day_schedule.remove_value_by_time( Time(17, 0)) equipment.unlock() equipment.watts_per_area = 8 with pytest.raises(AttributeError): equipment.schedule.default_day_schedule.remove_value_by_time( Time(17, 0))
def test_equipment_setability(): """Test the setting of properties of ElectricEquipment.""" simple_office = ScheduleDay( 'Simple Weekday Equip', [0, 1, 0], [Time(0, 0), Time(9, 0), Time(17, 0)]) schedule = ScheduleRuleset('Office Equip', simple_office, None, schedule_types.fractional) constant = ScheduleRuleset.from_constant_value('Constant Equip', 1, schedule_types.fractional) equipment = ElectricEquipment('Open Office Zone Equip', 8, schedule) equipment.name = 'Office Zone Equip' assert equipment.name == 'Office Zone Equip' equipment.watts_per_area = 6 assert equipment.watts_per_area == 6 equipment.schedule = constant assert equipment.schedule == constant assert equipment.schedule.values() == [1] * 8760 equipment.radiant_fraction = 0.4 assert equipment.radiant_fraction == 0.4 equipment.latent_fraction = 0.2 assert equipment.latent_fraction == 0.2 equipment.lost_fraction = 0.1 assert equipment.lost_fraction == 0.1