def test_residential_equality(): """Test the equality of Residential objects.""" hvac_sys = Residential('Test System') hvac_sys_dup = hvac_sys.duplicate() hvac_sys_alt = Residential('Test System', equipment_type='ResidentialFurnace') assert hvac_sys is hvac_sys assert hvac_sys is not hvac_sys_dup assert hvac_sys == hvac_sys_dup hvac_sys.vintage = 'ASHRAE_2010' assert hvac_sys != hvac_sys_dup assert hvac_sys != hvac_sys_alt
def test_residential_init(): """Test the initialization of Residential and basic properties.""" hvac_sys = Residential('Test System') str(hvac_sys) # test the string representation assert hvac_sys.identifier == 'Test System' assert hvac_sys.vintage == 'ASHRAE_2019' assert hvac_sys.equipment_type == 'ResidentialAC_ElectricBaseboard' hvac_sys.vintage = 'ASHRAE_2010' hvac_sys.equipment_type = 'ResidentialFurnace' assert hvac_sys.vintage == 'ASHRAE_2010' assert hvac_sys.equipment_type == 'ResidentialFurnace'
def test_residential_multi_room(): """Test that Residential systems can be assigned to multiple Rooms.""" first_floor = Room.from_box('First_Floor', 10, 10, 3, origin=Point3D(0, 0, 0)) second_floor = Room.from_box('Second_Floor', 10, 10, 3, origin=Point3D(0, 0, 3)) hvac_sys = Residential('Test System') first_floor.properties.energy.hvac = hvac_sys second_floor.properties.energy.hvac = hvac_sys model = Model('Test_Bldg', [first_floor, second_floor]) hvacs = model.properties.energy.hvacs assert len(hvacs) == 1 assert hvacs[0] == hvac_sys model_dict = model.to_dict() assert len(model_dict['properties']['energy']['hvacs']) == 1 assert model_dict['rooms'][0]['properties']['energy'][ 'hvac'] == hvac_sys.identifier
def test_residential_dict_methods(): """Test the to/from dict methods.""" hvac_sys = Residential('High Efficiency HVAC System') hvac_sys.vintage = 'ASHRAE_2010' hvac_sys.equipment_type = 'ResidentialFurnace' hvac_dict = hvac_sys.to_dict() new_hvac_sys = Residential.from_dict(hvac_dict) assert new_hvac_sys == hvac_sys assert hvac_dict == new_hvac_sys.to_dict()