Added multi-usage to tests
This commit is contained in:
parent
2c6f602a2e
commit
e0d1f1f8fb
@ -11,6 +11,7 @@ from hub.imports.geometry_factory import GeometryFactory
|
|||||||
from hub.imports.construction_factory import ConstructionFactory
|
from hub.imports.construction_factory import ConstructionFactory
|
||||||
from hub.imports.usage_factory import UsageFactory
|
from hub.imports.usage_factory import UsageFactory
|
||||||
from hub.helpers.dictionaries import Dictionaries
|
from hub.helpers.dictionaries import Dictionaries
|
||||||
|
from hub.helpers.usage_parsers import UseageParsers
|
||||||
|
|
||||||
|
|
||||||
class TestUsageFactory(TestCase):
|
class TestUsageFactory(TestCase):
|
||||||
@ -75,22 +76,6 @@ class TestUsageFactory(TestCase):
|
|||||||
self.assertIsNotNone(usage.thermal_control.heating_set_back, 'control heating set back is none')
|
self.assertIsNotNone(usage.thermal_control.heating_set_back, 'control heating set back is none')
|
||||||
self.assertIsNotNone(usage.thermal_control.mean_cooling_set_point, 'control cooling set point is none')
|
self.assertIsNotNone(usage.thermal_control.mean_cooling_set_point, 'control cooling set point is none')
|
||||||
|
|
||||||
def test_import_comnet(self):
|
|
||||||
"""
|
|
||||||
Enrich the city with the usage information from comnet and verify it
|
|
||||||
"""
|
|
||||||
file = 'pluto_building.gml'
|
|
||||||
city = self._get_citygml(file)
|
|
||||||
for building in city.buildings:
|
|
||||||
building.function = Dictionaries().pluto_function_to_hub_function[building.function]
|
|
||||||
|
|
||||||
UsageFactory('comnet', city).enrich()
|
|
||||||
self._check_buildings(city)
|
|
||||||
for building in city.buildings:
|
|
||||||
for internal_zone in building.internal_zones:
|
|
||||||
self.assertIsNot(len(internal_zone.usages), 0, 'no building usage defined')
|
|
||||||
for usage in internal_zone.usages:
|
|
||||||
self._check_usage(usage)
|
|
||||||
self.assertIsNotNone(usage.mechanical_air_change, 'mechanical air change is none')
|
self.assertIsNotNone(usage.mechanical_air_change, 'mechanical air change is none')
|
||||||
self.assertIsNotNone(usage.thermal_control.heating_set_point_schedules,
|
self.assertIsNotNone(usage.thermal_control.heating_set_point_schedules,
|
||||||
'control heating set point schedule is none')
|
'control heating set point schedule is none')
|
||||||
@ -121,11 +106,28 @@ class TestUsageFactory(TestCase):
|
|||||||
self.assertIsNotNone(appliances.schedules, 'appliances schedule is none')
|
self.assertIsNotNone(appliances.schedules, 'appliances schedule is none')
|
||||||
self.assertIsNotNone(usage.thermal_control.hvac_availability_schedules,
|
self.assertIsNotNone(usage.thermal_control.hvac_availability_schedules,
|
||||||
'control hvac availability is none')
|
'control hvac availability is none')
|
||||||
self.assertIsNotNone(usage.domestic_hot_water.density, 'domestic hot water density is none')
|
|
||||||
self.assertIsNotNone(usage.domestic_hot_water.service_temperature,
|
self.assertIsNotNone(usage.domestic_hot_water.service_temperature,
|
||||||
'domestic hot water service temperature is none')
|
'domestic hot water service temperature is none')
|
||||||
self.assertIsNotNone(usage.domestic_hot_water.schedules, 'domestic hot water schedules is none')
|
self.assertIsNotNone(usage.domestic_hot_water.schedules, 'domestic hot water schedules is none')
|
||||||
|
|
||||||
|
def test_import_comnet(self):
|
||||||
|
"""
|
||||||
|
Enrich the city with the usage information from comnet and verify it
|
||||||
|
"""
|
||||||
|
file = 'pluto_building.gml'
|
||||||
|
city = self._get_citygml(file)
|
||||||
|
for building in city.buildings:
|
||||||
|
building.function = Dictionaries().pluto_function_to_hub_function[building.function]
|
||||||
|
|
||||||
|
UsageFactory('comnet', city).enrich()
|
||||||
|
self._check_buildings(city)
|
||||||
|
for building in city.buildings:
|
||||||
|
for internal_zone in building.internal_zones:
|
||||||
|
self.assertIsNot(len(internal_zone.usages), 0, 'no building usage defined')
|
||||||
|
for usage in internal_zone.usages:
|
||||||
|
self._check_usage(usage)
|
||||||
|
self.assertIsNotNone(usage.domestic_hot_water.density, 'domestic hot water density is none')
|
||||||
|
|
||||||
def test_import_nrcan(self):
|
def test_import_nrcan(self):
|
||||||
"""
|
"""
|
||||||
Enrich the city with the usage information from nrcan and verify it
|
Enrich the city with the usage information from nrcan and verify it
|
||||||
@ -148,40 +150,6 @@ class TestUsageFactory(TestCase):
|
|||||||
self.assertIsNot(len(internal_zone.usages), 0, 'no building usage defined')
|
self.assertIsNot(len(internal_zone.usages), 0, 'no building usage defined')
|
||||||
for usage in internal_zone.usages:
|
for usage in internal_zone.usages:
|
||||||
self._check_usage(usage)
|
self._check_usage(usage)
|
||||||
self.assertIsNotNone(usage.mechanical_air_change, 'mechanical air change is none')
|
|
||||||
self.assertIsNotNone(usage.thermal_control.heating_set_point_schedules,
|
|
||||||
'control heating set point schedule is none')
|
|
||||||
self.assertIsNotNone(usage.thermal_control.cooling_set_point_schedules,
|
|
||||||
'control cooling set point schedule is none')
|
|
||||||
self.assertIsNotNone(usage.occupancy, 'occupancy is none')
|
|
||||||
occupancy = usage.occupancy
|
|
||||||
self.assertIsNotNone(occupancy.occupancy_density, 'occupancy density is none')
|
|
||||||
self.assertIsNotNone(occupancy.latent_internal_gain, 'occupancy latent internal gain is none')
|
|
||||||
self.assertIsNotNone(occupancy.sensible_convective_internal_gain,
|
|
||||||
'occupancy sensible convective internal gain is none')
|
|
||||||
self.assertIsNotNone(occupancy.sensible_radiative_internal_gain,
|
|
||||||
'occupancy sensible radiant internal gain is none')
|
|
||||||
self.assertIsNotNone(occupancy.occupancy_schedules, 'occupancy schedule is none')
|
|
||||||
self.assertIsNotNone(usage.lighting, 'lighting is none')
|
|
||||||
lighting = usage.lighting
|
|
||||||
self.assertIsNotNone(lighting.density, 'lighting density is none')
|
|
||||||
self.assertIsNotNone(lighting.latent_fraction, 'lighting latent fraction is none')
|
|
||||||
self.assertIsNotNone(lighting.convective_fraction, 'lighting convective fraction is none')
|
|
||||||
self.assertIsNotNone(lighting.radiative_fraction, 'lighting radiant fraction is none')
|
|
||||||
self.assertIsNotNone(lighting.schedules, 'lighting schedule is none')
|
|
||||||
self.assertIsNotNone(usage.appliances, 'appliances is none')
|
|
||||||
appliances = usage.appliances
|
|
||||||
self.assertIsNotNone(appliances.density, 'appliances density is none')
|
|
||||||
self.assertIsNotNone(appliances.latent_fraction, 'appliances latent fraction is none')
|
|
||||||
self.assertIsNotNone(appliances.convective_fraction, 'appliances convective fraction is none')
|
|
||||||
self.assertIsNotNone(appliances.radiative_fraction, 'appliances radiant fraction is none')
|
|
||||||
self.assertIsNotNone(appliances.schedules, 'appliances schedule is none')
|
|
||||||
self.assertIsNotNone(usage.thermal_control.hvac_availability_schedules,
|
|
||||||
'control hvac availability is none')
|
|
||||||
self.assertIsNotNone(usage.domestic_hot_water.peak_flow, 'domestic hot water peak flow is none')
|
|
||||||
self.assertIsNotNone(usage.domestic_hot_water.service_temperature,
|
|
||||||
'domestic hot water service temperature is none')
|
|
||||||
self.assertIsNotNone(usage.domestic_hot_water.schedules, 'domestic hot water schedules is none')
|
|
||||||
|
|
||||||
def test_import_palma(self):
|
def test_import_palma(self):
|
||||||
"""
|
"""
|
||||||
@ -205,38 +173,35 @@ class TestUsageFactory(TestCase):
|
|||||||
self.assertIsNot(len(internal_zone.usages), 0, 'no building usage defined')
|
self.assertIsNot(len(internal_zone.usages), 0, 'no building usage defined')
|
||||||
for usage in internal_zone.usages:
|
for usage in internal_zone.usages:
|
||||||
self._check_usage(usage)
|
self._check_usage(usage)
|
||||||
self.assertIsNotNone(usage.mechanical_air_change, 'mechanical air change is none')
|
|
||||||
self.assertIsNotNone(usage.thermal_control.heating_set_point_schedules,
|
|
||||||
'control heating set point schedule is none')
|
|
||||||
self.assertIsNotNone(usage.thermal_control.cooling_set_point_schedules,
|
|
||||||
'control cooling set point schedule is none')
|
|
||||||
self.assertIsNotNone(usage.occupancy, 'occupancy is none')
|
|
||||||
occupancy = usage.occupancy
|
|
||||||
self.assertIsNotNone(occupancy.occupancy_density, 'occupancy density is none')
|
|
||||||
self.assertIsNotNone(occupancy.latent_internal_gain, 'occupancy latent internal gain is none')
|
|
||||||
self.assertIsNotNone(occupancy.sensible_convective_internal_gain,
|
|
||||||
'occupancy sensible convective internal gain is none')
|
|
||||||
self.assertIsNotNone(occupancy.sensible_radiative_internal_gain,
|
|
||||||
'occupancy sensible radiant internal gain is none')
|
|
||||||
self.assertIsNotNone(occupancy.occupancy_schedules, 'occupancy schedule is none')
|
|
||||||
self.assertIsNotNone(usage.lighting, 'lighting is none')
|
|
||||||
lighting = usage.lighting
|
|
||||||
self.assertIsNotNone(lighting.density, 'lighting density is none')
|
|
||||||
self.assertIsNotNone(lighting.latent_fraction, 'lighting latent fraction is none')
|
|
||||||
self.assertIsNotNone(lighting.convective_fraction, 'lighting convective fraction is none')
|
|
||||||
self.assertIsNotNone(lighting.radiative_fraction, 'lighting radiant fraction is none')
|
|
||||||
self.assertIsNotNone(lighting.schedules, 'lighting schedule is none')
|
|
||||||
self.assertIsNotNone(usage.appliances, 'appliances is none')
|
|
||||||
appliances = usage.appliances
|
|
||||||
self.assertIsNotNone(appliances.density, 'appliances density is none')
|
|
||||||
self.assertIsNotNone(appliances.latent_fraction, 'appliances latent fraction is none')
|
|
||||||
self.assertIsNotNone(appliances.convective_fraction, 'appliances convective fraction is none')
|
|
||||||
self.assertIsNotNone(appliances.radiative_fraction, 'appliances radiant fraction is none')
|
|
||||||
self.assertIsNotNone(appliances.schedules, 'appliances schedule is none')
|
|
||||||
self.assertIsNotNone(usage.thermal_control.hvac_availability_schedules,
|
|
||||||
'control hvac availability is none')
|
|
||||||
self.assertIsNotNone(usage.domestic_hot_water.peak_flow, 'domestic hot water peak flow is none')
|
self.assertIsNotNone(usage.domestic_hot_water.peak_flow, 'domestic hot water peak flow is none')
|
||||||
self.assertIsNotNone(usage.domestic_hot_water.service_temperature,
|
|
||||||
'domestic hot water service temperature is none')
|
|
||||||
self.assertIsNotNone(usage.domestic_hot_water.schedules, 'domestic hot water schedules is none')
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def test_import_nrcan_multiusage(self):
|
||||||
|
"""
|
||||||
|
Enrich the city with the usage information from nrcan and verify it
|
||||||
|
"""
|
||||||
|
file = 'test.geojson'
|
||||||
|
file_path = (self._example_path / file).resolve()
|
||||||
|
|
||||||
|
function_dictionary = Dictionaries().montreal_function_to_hub_function
|
||||||
|
usage_parser = UseageParsers().list_usage_to_hub(function_dictionary=function_dictionary)
|
||||||
|
|
||||||
|
city = GeometryFactory('geojson',
|
||||||
|
path=file_path,
|
||||||
|
height_field='citygml_me',
|
||||||
|
year_of_construction_field='ANNEE_CONS',
|
||||||
|
function_field='CODE_UTILI',
|
||||||
|
function_to_hub=function_dictionary,
|
||||||
|
usages_field='usages',
|
||||||
|
usages_to_hub=usage_parser).city
|
||||||
|
|
||||||
|
ConstructionFactory('nrcan', city).enrich()
|
||||||
|
UsageFactory('nrcan', city).enrich()
|
||||||
|
self._check_buildings(city)
|
||||||
|
for building in city.buildings:
|
||||||
|
for internal_zone in building.internal_zones:
|
||||||
|
if internal_zone.usages is not None:
|
||||||
|
self.assertIsNot(len(internal_zone.usages), 0, 'no building usage defined')
|
||||||
|
for usage in internal_zone.usages:
|
||||||
|
self._check_usage(usage)
|
||||||
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user