hub/non_functional_tests/test_sensors_factory.py

60 lines
2.2 KiB
Python
Raw Normal View History

"""
TestSensorsFactory test and validate the city model structure schedules
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2021 Project Author Guille Gutierrez guillermo.gutierrezmorote@concordia.ca
"""
from pathlib import Path
from unittest import TestCase
import pandas as pd
from city_model_structure.city import City
from city_model_structure.building import Building
from city_model_structure.parts_consisting_building import PartsConsistingBuilding
from imports.sensors_factory import SensorsFactory
class TestSensorsFactory(TestCase):
"""
TestSchedulesFactory TestCase
"""
def setUp(self) -> None:
"""
Configure test environment
:return:
"""
self._city = TestSensorsFactory._mockup_city()
self._end_point = (Path(__file__).parent /
'tests_data/EV-GM energy demand weekly report_01-26-20_04-30.csv').resolve()
@staticmethod
def _mockup_city():
lower_corner = [0, 0, 0]
upper_corner = [10, 10, 10]
srs_name = 'Mockup_city'
buildings = []
lod = 2
surfaces = []
year_of_construction = 2021
function = "office"
2021-06-03 12:42:00 -04:00
city = City(lower_corner, upper_corner, srs_name)
buildings.append(Building("EV", lod, surfaces, year_of_construction, function, lower_corner))
buildings.append(Building("GM", lod, surfaces, year_of_construction, function, lower_corner))
buildings.append(Building("MB", lod, surfaces, year_of_construction, function, lower_corner))
2021-06-03 11:52:00 -04:00
for building in buildings:
city.add_city_object(building)
buildings_cluster = PartsConsistingBuilding("GM_MB_EV", buildings)
city.add_city_objects_cluster(buildings_cluster)
return city
def test_city_with_sensors(self):
SensorsFactory('cec', self._city, self._end_point).enrich()
SensorsFactory('cgf', self._city, self._end_point).enrich()
SensorsFactory('ct', self._city, self._end_point).enrich()
for city_object in self._city.city_objects:
for sensor in city_object.sensors:
self.assertTrue(f'{row}' == '12345.0')
2021-06-03 10:12:06 -04:00
for city_objects_cluster in self._city.city_objects_clusters:
for sensor in city_objects_cluster.sensors:
self.assertTrue(f'{row}' == '12345.0')