예제 #1
0
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
예제 #2
0
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'
예제 #3
0
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
예제 #4
0
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()