import pytest

from ukr.wfst import normalize


@pytest.mark.parametrize("spoken,expected", [
    ("одна гривня", '₴1'),
    ("одна гривня одна копійка", '₴1.01'),
    ("одна гривня двадцять одна копійка", '₴1.21'),
    ("двадцять одна гривня двадцять одна копійка", '₴21.21'),
    ("сто одинадцять доларів двадцять один цент", '$111.21'),
    ("сто одинадцять доларів і двадцять один цент", '$111.21'),
    ("двадцять один цент", '$0.21'),
    ("двадцять один копійка", '₴0.21'),
    ("сім копійок", '₴0.07'),
    ("п'ять цілих одна десята гривні", '₴5.1'),
    ("п'ять цілих одна десята мільйонів гривень", '₴5.1 мільйонів'),
    ("тридцять тисяч сто одна гривень", '₴30101'),
])
def test_money(spoken, expected):
    assert normalize(spoken) == expected
