{%- import "generator_macros.j2" as macros with context -%}
{{ macros.header() }}

class {{ exercise | camel_case }}Test(unittest.TestCase):
    {% for case in cases -%}
    def test_{{ case["description"] | to_snake }}(self):
        {% if case["input"]["name"] is none -%}
        self.assertEqual({{ case["property"] | to_snake }}(), "{{ case["expected"] }}")
        {% else -%}
        self.assertEqual({{ case["property"] | to_snake }}("{{ case["input"]["name"] }}"), "{{ case["expected"] }}")
        {% endif %}
    {% endfor %}

{{ macros.footer() }}
