Add formatters, tests.

main
KKlochko 2 years ago
parent 0de06aaf97
commit a95638a6d5

@ -0,0 +1,11 @@
from abc import ABC, abstractmethod
class AbstractFormatter(ABC):
@abstractmethod
def format(self, obj) -> str:
pass
@abstractmethod
def format_all(self, objs) -> str:
pass

@ -0,0 +1,16 @@
from src.fmt.abstract_formatter import AbstractFormatter
class CityFormatter(AbstractFormatter):
def format(self, city) -> str:
name = city['name']
return f"- {name}\n"
def format_all(self, cities: dict) -> str:
formated_message = "Cities:\n\n"
for city in cities['data']:
formated_item = self.format(city)
formated_message += formated_item
return formated_message

@ -0,0 +1,12 @@
import pytest
from src.fmt.city_formatter import CityFormatter
def test_city_format():
city = {'name': 'Chernihiv'}
formatter = CityFormatter()
city_fmt = formatter.format(city)
assert '- Chernihiv\n' == city_fmt
Loading…
Cancel
Save