From f4dd6b1232d00f9cfb1a3ca3f36e4da008f1e5cd Mon Sep 17 00:00:00 2001 From: Julia Glaszka Date: Fri, 3 Jan 2025 18:50:20 +0100 Subject: [PATCH] rewrite greek tests, cleanup unused import, add greek to readme --- README.md | 1 + .../dutch/DutchLongValuesTest.groovy | 1 - .../greek/GreekIntegerValuesTest.groovy | 122 ++++++++++++++++++ 3 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 src/test/groovy/pl/allegro/finance/tradukisto/internal/languages/greek/GreekIntegerValuesTest.groovy diff --git a/README.md b/README.md index f980e5d0..70d06fdf 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,7 @@ With Tradukisto, you can now transform numbers into their word equivalents easy * 🇬🇧 English * 🇫🇷 French * 🇩🇪 German +* 🇬🇷 Greek * 🇮🇳 Hindi * 🇮🇹 Italian * 🇯🇵 Japanese (KANJI) diff --git a/src/test/groovy/pl/allegro/finance/tradukisto/internal/languages/dutch/DutchLongValuesTest.groovy b/src/test/groovy/pl/allegro/finance/tradukisto/internal/languages/dutch/DutchLongValuesTest.groovy index ca48bf61..789a2608 100644 --- a/src/test/groovy/pl/allegro/finance/tradukisto/internal/languages/dutch/DutchLongValuesTest.groovy +++ b/src/test/groovy/pl/allegro/finance/tradukisto/internal/languages/dutch/DutchLongValuesTest.groovy @@ -3,7 +3,6 @@ package pl.allegro.finance.tradukisto.internal.languages.dutch import pl.allegro.finance.tradukisto.internal.languages.AbstractLongValuesTest import static pl.allegro.finance.tradukisto.internal.Container.dutchContainer -import static pl.allegro.finance.tradukisto.internal.Container.polishContainer class DutchLongValuesTest extends AbstractLongValuesTest { diff --git a/src/test/groovy/pl/allegro/finance/tradukisto/internal/languages/greek/GreekIntegerValuesTest.groovy b/src/test/groovy/pl/allegro/finance/tradukisto/internal/languages/greek/GreekIntegerValuesTest.groovy new file mode 100644 index 00000000..e5bbd8c0 --- /dev/null +++ b/src/test/groovy/pl/allegro/finance/tradukisto/internal/languages/greek/GreekIntegerValuesTest.groovy @@ -0,0 +1,122 @@ +package pl.allegro.finance.tradukisto.internal.languages.greek + +import pl.allegro.finance.tradukisto.internal.languages.AbstractIntegerValuesTest + +import static pl.allegro.finance.tradukisto.internal.Container.greekContainer + +class GreekIntegerValuesTest extends AbstractIntegerValuesTest { + + def setup() { + intConverter = greekContainer().getIntegerConverter() + } + + @Override + IntegerValuesTestData getTestData() { + testData = new IntegerValuesTestData(integerTranslations) + } + + private static integerTranslations = [ + 0 : "μηδέν", + 1 : "ένα", + 2 : "δύο", + 3 : "τρία", + 4 : "τέσσερα", + 5 : "πέντε", + 6 : "έξι", + 7 : "επτά", + 8 : "οκτώ", + 9 : "εννέα", + + 11 : "έντεκα", + 12 : "δώδεκα", + 13 : "δεκατρία", + 14 : "δεκατέσσερα", + 15 : "δεκαπέντε", + 16 : "δεκαέξι", + 17 : "δεκαεπτά", + 18 : "δεκαοκτώ", + 19 : "δεκαεννέα", + 20 : "είκοσι", + 10 : "δέκα", + 30 : "τριάντα", + 40 : "σαράντα", + 50 : "πενήντα", + 60 : "εξήντα", + 70 : "εβδομήντα", + 80 : "ογδόντα", + 90 : "ενενήντα", + + 21 : "είκοσι ένα", + 37 : "τριάντα επτά", + 43 : "σαράντα τρία", + 58 : "πενήντα οκτώ", + 69 : "εξήντα εννέα", + 76 : "εβδομήντα έξι", + 82 : "ογδόντα δύο", + 95 : "ενενήντα πέντε", + + 100 : "εκατό", + 200 : "διακόσια", + 300 : "τριακόσια", + 400 : "τετρακόσια", + 500 : "πεντακόσια", + 600 : "εξακόσια", + 700 : "επτακόσια", + 800 : "οκτακόσια", + 900 : "εννιακόσια", + + 111 : "εκατόν έντεκα", + 272 : "διακόσια εβδομήντα δύο", + 387 : "τριακόσια ογδόντα επτά", + 448 : "τετρακόσια σαράντα οκτώ", + 569 : "πεντακόσια εξήντα εννέα", + 625 : "εξακόσια είκοσι πέντε", + 782 : "επτακόσια ογδόντα δύο", + 895 : "οκτακόσια ενενήντα πέντε", + 999 : "εννιακόσια ενενήντα εννέα", + + 1_000 : "χίλια", + 2_000 : "δύο χιλιάδες", + 3_000 : "τρεις χιλιάδες", + 4_000 : "τέσσερεις χιλιάδες", + 5_000 : "πέντε χιλιάδες", + 7_634 : "επτά χιλιάδες εξακόσια τριάντα τέσσερα", + 11_000 : "έντεκα χιλιάδες", + 15_000 : "δεκαπέντε χιλιάδες", + 21_000 : "είκοσι μία χιλιάδες", + 24_190 : "είκοσι τέσσερεις χιλιάδες εκατόν ενενήντα", + 653_000 : "εξακόσιες πενήντα τρεις χιλιάδες", + 123_454 : "εκατόν είκοσι τρεις χιλιάδες τετρακόσια πενήντα τέσσερα", + 700_000 : "επτακόσιες χιλιάδες", + 999_999 : "εννιακόσιες ενενήντα εννέα χιλιάδες εννιακόσια ενενήντα εννέα", + + 1_000_000 : "ένα εκατομμύριο", + 2_000_000 : "δύο εκατομμύρια", + 5_000_000 : "πέντε εκατομμύρια", + 23_437_219 : "είκοσι τρία εκατομμύρια τετρακόσιες τριάντα επτά χιλιάδες διακόσια δεκαεννέα", + 100_000_000 : "εκατό εκατομμύρια", + 123_456_789 : "εκατόν είκοσι τρία εκατομμύρια τετρακόσιες πενήντα έξι χιλιάδες επτακόσια ογδόντα εννέα", + 322_089_890 : "τριακόσια είκοσι δύο εκατομμύρια ογδόντα εννέα χιλιάδες οκτακόσια ενενήντα", + + 1_000_000_000: "ένα δισεκατομμύριο", + 2_147_483_647: "δύο δισεκατομμύρια εκατόν σαράντα επτά εκατομμύρια τετρακόσιες ογδόντα τρεις χιλιάδες εξακόσια σαράντα επτά" + ] + + + // todo: when greek longConverter will be implemented, copy that value to new test file: + private static longTranslations = [ + 5_000_000_000 : "πέντε δισεκατομμύρια", + + 1_000_000_000_000 : "ένα τρισεκατομμύριο", + 2_000_000_000_000 : "δύο τρισεκατομμύρια", + 5_000_000_000_000 : "πέντε τρισεκατομμύρια", + + 1_000_000_000_000_000 : "ένα τετράκις εκατομμύριο", + 2_000_000_000_000_000 : "δύο τετράκις εκατομμύρια", + 5_000_000_000_000_000 : "πέντε τετράκις εκατομμύρια", + + 1_000_000_000_000_000_000 : "ένα πεντάκις εκατομμύριο", + 2_000_000_000_000_000_000 : "δύο πεντάκις εκατομμύριο", + (Long.MAX_VALUE) : "todo: please fill with valid translation" + ] +}