from datetime import datetime import unittest from src.convert.dict_converter import dict_converter from src.convert.collection_converter import collection_converter from src.models.abstract_reference import abstract_reference from src.models.nomenclature_group_model import nomenclature_group_model from src.convert.basic_converter import basic_converter from src.convert.converter_factory import converter_factory from src.convert.datetime_converter import datetime_converter from src.convert.model_converter import model_converter class test_converters(unittest.TestCase): def test_factory(self): assert isinstance(converter_factory.create(10), basic_converter) assert isinstance( converter_factory.create(abstract_reference("test")), model_converter ) assert isinstance( converter_factory.create_datetime(datetime.now()), datetime_converter ) def test_basic(self): num = 10 st = "test" contor = basic_converter() assert contor.convert(num) == str(num) assert contor.convert(st) == st def test_model(self): g = nomenclature_group_model.create_group() contor = model_converter() conv = contor.convert(g) assert str(g.id) == conv["id"] assert g.name == conv["name"] def test_datetime(self): now = datetime.now() contor = datetime_converter() conv = contor.convert(now) assert now.year == conv["year"] assert now.month == conv["month"] assert now.day == conv["day"] assert now.hour == conv["hour"] assert now.minute == conv["minute"] assert now.second == conv["second"] def test_collection(self): col = [1, 2, 3, 4] contor = collection_converter() conv = contor.convert(col) assert conv == ["1", "2", "3", "4"] def test_dict(self): d = {1: "1", 2: "2", 3: "3"} contor = dict_converter() conv = contor.convert(d) assert conv == {"1": "1", "2": "2", "3": "3"}