city_retrofit/tests/test_systems_catalog.py

58 lines
2.1 KiB
Python
Raw Permalink Normal View History

2023-04-28 14:07:07 -04:00
"""
TestSystemsCatalog
SPDX - License - Identifier: LGPL - 3.0 - or -later
Copyright © 2022 Concordia CERC group
Project Coder Pilar Monsalvete Alvarez de Uribarri pilar.monsalvete@concordia.ca
"""
from unittest import TestCase
from hub.catalog_factories.energy_systems_catalog_factory import EnergySystemsCatalogFactory
class TestSystemsCatalog(TestCase):
def test_montreal_custom_catalog(self):
catalog = EnergySystemsCatalogFactory('montreal_custom').catalog
2023-04-28 14:07:07 -04:00
catalog_categories = catalog.names()
archetypes = catalog.names('archetypes')
2023-06-08 09:58:57 -04:00
self.assertEqual(23, len(archetypes['archetypes']))
systems = catalog.names('systems')
2023-06-07 12:55:03 -04:00
self.assertEqual(18, len(systems['systems']))
generation_equipments = catalog.names('generation_equipments')
2023-06-07 12:55:03 -04:00
self.assertEqual(7, len(generation_equipments['generation_equipments']))
distribution_equipments = catalog.names('distribution_equipments')
self.assertEqual(13, len(distribution_equipments['distribution_equipments']))
2023-04-28 14:07:07 -04:00
with self.assertRaises(ValueError):
catalog.names('unknown')
# retrieving all the entries should not raise any exceptions
for category in catalog_categories:
for value in catalog_categories[category]:
catalog.get_entry(value)
with self.assertRaises(IndexError):
catalog.get_entry('unknown')
2023-08-09 12:02:16 -04:00
def test_montreal_future_catalog(self):
catalog = EnergySystemsCatalogFactory('montreal_future').catalog
catalog_categories = catalog.names()
archetypes = catalog.names()
self.assertEqual(15, len(archetypes['archetypes']))
systems = catalog.names('systems')
self.assertEqual(12, len(systems['systems']))
generation_equipments = catalog.names('generation_equipments')
self.assertEqual(27, len(generation_equipments['generation_equipments']))
with self.assertRaises(ValueError):
catalog.names('unknown')
# retrieving all the entries should not raise any exceptions
for category in catalog_categories:
for value in catalog_categories[category]:
catalog.get_entry(value)
with self.assertRaises(IndexError):
catalog.get_entry('unknown')
print(catalog.entries())