From d99c246de2aa07c4a46dbe7e878680b95a27f7b6 Mon Sep 17 00:00:00 2001 From: KKlochko Date: Tue, 20 Jun 2023 13:38:56 +0300 Subject: [PATCH] Update the CityFormatter to have the header as an argument. --- src/fmt/city_formatter.py | 4 ++-- tests/fmt/test_city_formatter.py | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/fmt/city_formatter.py b/src/fmt/city_formatter.py index 9ed0437..1f1c6d2 100644 --- a/src/fmt/city_formatter.py +++ b/src/fmt/city_formatter.py @@ -5,8 +5,8 @@ class CityFormatter(AbstractFormatter): name = city['name'] return f"- {name}\n" - def format_all(self, cities: dict) -> str: - formated_message = "Cities:\n\n" + def format_all(self, cities: dict, header: str = "# Міста\n\n") -> str: + formated_message = header for city in cities['data']: formated_item = self.format(city) diff --git a/tests/fmt/test_city_formatter.py b/tests/fmt/test_city_formatter.py index 3d955b2..bdef87a 100644 --- a/tests/fmt/test_city_formatter.py +++ b/tests/fmt/test_city_formatter.py @@ -10,3 +10,21 @@ def test_city_format(): assert '- Chernihiv\n' == city_fmt +def test_format_cities(): + cities = {'data': [ + {'name': 'Київ'}, + {'name': 'Чернігів'} + ]} + + expected_format = "".join([ + "# Міста\n\n", + "- Київ\n", + "- Чернігів\n", + ]) + + formatter = CityFormatter() + + cities_fmt = formatter.format_all(cities) + + assert expected_format == cities_fmt +