packages feed

numerals-0.4: src-test/Text/Numeral/Language/DE/TestData.hs

{-# LANGUAGE NoImplicitPrelude   #-}
{-# LANGUAGE OverloadedStrings   #-}
{-# LANGUAGE PackageImports      #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE UnicodeSyntax       #-}

{-|
[@ISO639-1@]        de

[@ISO639-2B@]       ger

[@ISO639-2T@]       deu

[@ISO639-3@]        deu

[@Native name@]     Deutsch

[@English name@]    German
-}

module Text.Numeral.Language.DE.TestData (cardinals, ordinals) where


--------------------------------------------------------------------------------
-- Imports
--------------------------------------------------------------------------------

import "base" Prelude     ( Integral )
import "base-unicode-symbols" Prelude.Unicode ( (⋅) )
import "numerals" Text.Numeral.Grammar.Reified ( defaultInflection )
import "numerals" Text.Numeral.Misc ( dec )
import "this" Text.Numeral.Test ( TestData )


--------------------------------------------------------------------------------
-- Test data
--------------------------------------------------------------------------------

{-
Sources:
  http://de.wikipedia.org/wiki/Zahlennamen
  http://german.about.com/library/blzahlen.htm
-}

cardinals ∷ (Integral i) ⇒ TestData i
cardinals =
  [ ( "default"
    , defaultInflection
    , [ (0, "null")
      , (1, "eins")
      , (2, "zwei")
      , (3, "drei")
      , (4, "vier")
      , (5, "fünf")
      , (6, "sechs")
      , (7, "sieben")
      , (8, "acht")
      , (9, "neun")
      , (10, "zehn")
      , (11, "elf")
      , (12, "zwölf")
      , (13, "dreizehn")
      , (14, "vierzehn")
      , (15, "fünfzehn")
      , (16, "sechzehn")
      , (17, "siebzehn")
      , (18, "achtzehn")
      , (19, "neunzehn")
      , (20, "zwanzig")
      , (21, "einundzwanzig")
      , (22, "zweiundzwanzig")
      , (23, "dreiundzwanzig")
      , (24, "vierundzwanzig")
      , (25, "fünfundzwanzig")
      , (26, "sechsundzwanzig")
      , (27, "siebenundzwanzig")
      , (28, "achtundzwanzig")
      , (29, "neunundzwanzig")
      , (30, "dreißig")
      , (31, "einunddreißig")
      , (32, "zweiunddreißig")
      , (33, "dreiunddreißig")
      , (34, "vierunddreißig")
      , (35, "fünfunddreißig")
      , (36, "sechsunddreißig")
      , (37, "siebenunddreißig")
      , (38, "achtunddreißig")
      , (39, "neununddreißig")
      , (40, "vierzig")
      , (41, "einundvierzig")
      , (42, "zweiundvierzig")
      , (43, "dreiundvierzig")
      , (44, "vierundvierzig")
      , (45, "fünfundvierzig")
      , (46, "sechsundvierzig")
      , (47, "siebenundvierzig")
      , (48, "achtundvierzig")
      , (49, "neunundvierzig")
      , (50, "fünfzig")
      , (51, "einundfünfzig")
      , (52, "zweiundfünfzig")
      , (53, "dreiundfünfzig")
      , (54, "vierundfünfzig")
      , (55, "fünfundfünfzig")
      , (56, "sechsundfünfzig")
      , (57, "siebenundfünfzig")
      , (58, "achtundfünfzig")
      , (59, "neunundfünfzig")
      , (60, "sechzig")
      , (61, "einundsechzig")
      , (62, "zweiundsechzig")
      , (63, "dreiundsechzig")
      , (64, "vierundsechzig")
      , (65, "fünfundsechzig")
      , (66, "sechsundsechzig")
      , (67, "siebenundsechzig")
      , (68, "achtundsechzig")
      , (69, "neunundsechzig")
      , (70, "siebzig")
      , (71, "einundsiebzig")
      , (72, "zweiundsiebzig")
      , (73, "dreiundsiebzig")
      , (74, "vierundsiebzig")
      , (75, "fünfundsiebzig")
      , (76, "sechsundsiebzig")
      , (77, "siebenundsiebzig")
      , (78, "achtundsiebzig")
      , (79, "neunundsiebzig")
      , (80, "achtzig")
      , (81, "einundachtzig")
      , (82, "zweiundachtzig")
      , (83, "dreiundachtzig")
      , (84, "vierundachtzig")
      , (85, "fünfundachtzig")
      , (86, "sechsundachtzig")
      , (87, "siebenundachtzig")
      , (88, "achtundachtzig")
      , (89, "neunundachtzig")
      , (90, "neunzig")
      , (91, "einundneunzig")
      , (92, "zweiundneunzig")
      , (93, "dreiundneunzig")
      , (94, "vierundneunzig")
      , (95, "fünfundneunzig")
      , (96, "sechsundneunzig")
      , (97, "siebenundneunzig")
      , (98, "achtundneunzig")
      , (99, "neunundneunzig")
      , (100, "hundert")
      , (101, "hunderteins")
      , (102, "hundertzwei")
      , (103, "hundertdrei")
      , (153, "hundertdreiundfünfzig")
      , (200, "zweihundert")
      , (201, "zweihunderteins")
      , (202, "zweihundertzwei")
      , (203, "zweihundertdrei")
      , (204, "zweihundertvier")
      , (205, "zweihundertfünf")
      , (206, "zweihundertsechs")
      , (207, "zweihundertsieben")
      , (208, "zweihundertacht")
      , (209, "zweihundertneun")
      , (210, "zweihundertzehn")
      , (211, "zweihundertelf")
      , (212, "zweihundertzwölf")
      , (213, "zweihundertdreizehn")
      , (214, "zweihundertvierzehn")
      , (215, "zweihundertfünfzehn")
      , (216, "zweihundertsechzehn")
      , (217, "zweihundertsiebzehn")
      , (218, "zweihundertachtzehn")
      , (219, "zweihundertneunzehn")
      , (220, "zweihundertzwanzig")
      , (221, "zweihunderteinundzwanzig")
      , (222, "zweihundertzweiundzwanzig")
      , (223, "zweihundertdreiundzwanzig")
      , (224, "zweihundertvierundzwanzig")
      , (225, "zweihundertfünfundzwanzig")
      , (226, "zweihundertsechsundzwanzig")
      , (227, "zweihundertsiebenundzwanzig")
      , (228, "zweihundertachtundzwanzig")
      , (229, "zweihundertneunundzwanzig")
      , (230, "zweihundertdreißig")
      , (300, "dreihundert")
      , (320, "dreihundertzwanzig")
      , (400, "vierhundert")
      , (421, "vierhunderteinundzwanzig")
      , (500, "fünfhundert")
      , (522, "fünfhundertzweiundzwanzig")
      , (600, "sechshundert")
      , (623, "sechshundertdreiundzwanzig")
      , (700, "siebenhundert")
      , (724, "siebenhundertvierundzwanzig")
      , (800, "achthundert")
      , (825, "achthundertfünfundzwanzig")
      , (900, "neunhundert")
      , (901, "neunhunderteins")
      , (926, "neunhundertsechsundzwanzig")
      , (998, "neunhundertachtundneunzig")
      , (999, "neunhundertneunundneunzig")
      , (1000, "tausend")
      , (1001, "tausendeins")
      , (1002, "tausendzwei")
      , (1030, "tausenddreißig")
      , (1031, "tausendeinunddreißig")
      , (1032, "tausendzweiunddreißig")
      , (1033, "tausenddreiunddreißig")
      , (1034, "tausendvierunddreißig")
      , (1035, "tausendfünfunddreißig")
      , (1036, "tausendsechsunddreißig")
      , (1037, "tausendsiebenunddreißig")
      , (1038, "tausendachtunddreißig")
      , (1039, "tausendneununddreißig")
      , (1040, "tausendvierzig")
      , (1041, "tausendeinundvierzig")
      , (1042, "tausendzweiundvierzig")
      , (1043, "tausenddreiundvierzig")
      , (1044, "tausendvierundvierzig")
      , (1045, "tausendfünfundvierzig")
      , (1046, "tausendsechsundvierzig")
      , (1047, "tausendsiebenundvierzig")
      , (1048, "tausendachtundvierzig")
      , (1049, "tausendneunundvierzig")
      , (1050, "tausendfünfzig")
      , (1051, "tausendeinundfünfzig")
      , (1052, "tausendzweiundfünfzig")
      , (1053, "tausenddreiundfünfzig")
      , (1054, "tausendvierundfünfzig")
      , (1055, "tausendfünfundfünfzig")
      , (1056, "tausendsechsundfünfzig")
      , (1057, "tausendsiebenundfünfzig")
      , (1058, "tausendachtundfünfzig")
      , (1059, "tausendneunundfünfzig")
      , (1060, "tausendsechzig")
      , (1061, "tausendeinundsechzig")
      , (1062, "tausendzweiundsechzig")
      , (1063, "tausenddreiundsechzig")
      , (1064, "tausendvierundsechzig")
      , (1065, "tausendfünfundsechzig")
      , (1066, "tausendsechsundsechzig")
      , (1067, "tausendsiebenundsechzig")
      , (1068, "tausendachtundsechzig")
      , (1069, "tausendneunundsechzig")
      , (1070, "tausendsiebzig")
      , (1071, "tausendeinundsiebzig")
      , (1072, "tausendzweiundsiebzig")
      , (1073, "tausenddreiundsiebzig")
      , (1074, "tausendvierundsiebzig")
      , (1075, "tausendfünfundsiebzig")
      , (1076, "tausendsechsundsiebzig")
      , (1077, "tausendsiebenundsiebzig")
      , (1078, "tausendachtundsiebzig")
      , (1079, "tausendneunundsiebzig")
      , (1080, "tausendachtzig")
      , (1081, "tausendeinundachtzig")
      , (1082, "tausendzweiundachtzig")
      , (1083, "tausenddreiundachtzig")
      , (1084, "tausendvierundachtzig")
      , (1085, "tausendfünfundachtzig")
      , (1086, "tausendsechsundachtzig")
      , (1087, "tausendsiebenundachtzig")
      , (1088, "tausendachtundachtzig")
      , (1089, "tausendneunundachtzig")
      , (1090, "tausendneunzig")
      , (1091, "tausendeinundneunzig")
      , (1092, "tausendzweiundneunzig")
      , (1093, "tausenddreiundneunzig")
      , (1094, "tausendvierundneunzig")
      , (1095, "tausendfünfundneunzig")
      , (1096, "tausendsechsundneunzig")
      , (1097, "tausendsiebenundneunzig")
      , (1098, "tausendachtundneunzig")
      , (1099, "tausendneunundneunzig")
      , (1100, "tausendhundert")
      , (1101, "tausendhunderteins")
      , (1102, "tausendhundertzwei")
      , (1103, "tausendhundertdrei")
      , (1104, "tausendhundertvier")
      , (1105, "tausendhundertfünf")
      , (1106, "tausendhundertsechs")
      , (1107, "tausendhundertsieben")
      , (1108, "tausendhundertacht")
      , (1109, "tausendhundertneun")
      , (1210, "tausendzweihundertzehn")
      , (1211, "tausendzweihundertelf")
      , (1212, "tausendzweihundertzwölf")
      , (1213, "tausendzweihundertdreizehn")
      , (1214, "tausendzweihundertvierzehn")
      , (1215, "tausendzweihundertfünfzehn")
      , (1216, "tausendzweihundertsechzehn")
      , (1217, "tausendzweihundertsiebzehn")
      , (1218, "tausendzweihundertachtzehn")
      , (1219, "tausendzweihundertneunzehn")
      , (2000, "zweitausend")
      , (2001, "zweitausendeins")
      , (2002, "zweitausendzwei")
      , (2004, "zweitausendvier")
      , (9999, "neuntausendneunhundertneunundneunzig")
      , (10000, "zehntausend")
      , (20000, "zwanzigtausend")
      , (dec 5, "hunderttausend")
      , (dec 6, "million")
      , (2 ⋅ dec 6, "zwei millionen")
      , (dec 9, "milliarde")
      , (6 ⋅ dec 9, "sechs milliarden")
      , (dec 12, "billion")
      , (dec 15, "billiarde")
      , (dec 18, "trillion")
      , (dec 21, "trilliarde")
      , (dec 24, "quadrillion")
      , (dec 27, "quadrilliarde")
      , (dec 30, "quintillion")
      , (dec 33, "quintilliarde")
      , (dec 36, "sextillion")
      , (dec 39, "sextilliarde")
      , (dec 42, "septillion")
      , (dec 45, "septilliarde")
      , (dec 48, "oktillion")
      , (dec 51, "oktilliarde")
      , (dec 54, "nonillion")
      , (dec 57, "nonilliarde")
      , (dec 60, "dezillion")
      , (dec 63, "dezilliarde")
      , (dec 66, "undezillion")
      , (dec 69, "undezilliarde")
      , (dec 72, "duodezillion")
      , (dec 75, "duodezilliarde")
      , (dec 78, "tredezillion")
      , (dec 81, "tredezilliarde")
      , (dec 84, "quattuordezillion")
      , (dec 87, "quattuordezilliarde")
      , (dec 90, "quindezillion")
      , (dec 93, "quindezilliarde")
      , (dec 180, "trigintillion")
      , (dec 600, "zentillion")
      , (dec 603, "zentilliarde")
      , (dec 6000, "millinillion")
      ]
    )
  ]

ordinals ∷ (Integral i) ⇒ TestData i
ordinals =
  [ ( "default"
    , defaultInflection
    , [ (0, "nullte")
      , (1, "erste")
      , (2, "zweite")
      , (3, "dritte")
      , (4, "vierte")
      , (5, "fünfte")
      , (6, "sechste")
      , (7, "siebte")
      , (8, "achte")
      , (9, "neunte")
      , (10, "zehnte")
      , (11, "elfte")
      , (12, "zwölfte")
      , (13, "dreizehnte")
      , (14, "vierzehnte")
      , (15, "fünfzehnte")
      , (16, "sechzehnte")
      , (17, "siebzehnte")
      , (18, "achtzehnte")
      , (19, "neunzehnte")
      , (20, "zwanzigste")
      , (21, "einundzwanzigste")
      , (22, "zweiundzwanzigste")
      , (23, "dreiundzwanzigste")
      , (24, "vierundzwanzigste")
      , (25, "fünfundzwanzigste")
      , (26, "sechsundzwanzigste")
      , (27, "siebenundzwanzigste")
      , (28, "achtundzwanzigste")
      , (29, "neunundzwanzigste")
      , (30, "dreißigste")
      , (31, "einunddreißigste")
      , (32, "zweiunddreißigste")
      , (33, "dreiunddreißigste")
      , (34, "vierunddreißigste")
      , (35, "fünfunddreißigste")
      , (36, "sechsunddreißigste")
      , (37, "siebenunddreißigste")
      , (38, "achtunddreißigste")
      , (39, "neununddreißigste")
      , (40, "vierzigste")
      , (41, "einundvierzigste")
      , (42, "zweiundvierzigste")
      , (43, "dreiundvierzigste")
      , (44, "vierundvierzigste")
      , (45, "fünfundvierzigste")
      , (46, "sechsundvierzigste")
      , (47, "siebenundvierzigste")
      , (48, "achtundvierzigste")
      , (49, "neunundvierzigste")
      , (50, "fünfzigste")
      , (51, "einundfünfzigste")
      , (52, "zweiundfünfzigste")
      , (53, "dreiundfünfzigste")
      , (54, "vierundfünfzigste")
      , (55, "fünfundfünfzigste")
      , (56, "sechsundfünfzigste")
      , (57, "siebenundfünfzigste")
      , (58, "achtundfünfzigste")
      , (59, "neunundfünfzigste")
      , (60, "sechzigste")
      , (61, "einundsechzigste")
      , (62, "zweiundsechzigste")
      , (63, "dreiundsechzigste")
      , (64, "vierundsechzigste")
      , (65, "fünfundsechzigste")
      , (66, "sechsundsechzigste")
      , (67, "siebenundsechzigste")
      , (68, "achtundsechzigste")
      , (69, "neunundsechzigste")
      , (70, "siebzigste")
      , (71, "einundsiebzigste")
      , (72, "zweiundsiebzigste")
      , (73, "dreiundsiebzigste")
      , (74, "vierundsiebzigste")
      , (75, "fünfundsiebzigste")
      , (76, "sechsundsiebzigste")
      , (77, "siebenundsiebzigste")
      , (78, "achtundsiebzigste")
      , (79, "neunundsiebzigste")
      , (80, "achtzigste")
      , (81, "einundachtzigste")
      , (82, "zweiundachtzigste")
      , (83, "dreiundachtzigste")
      , (84, "vierundachtzigste")
      , (85, "fünfundachtzigste")
      , (86, "sechsundachtzigste")
      , (87, "siebenundachtzigste")
      , (88, "achtundachtzigste")
      , (89, "neunundachtzigste")
      , (90, "neunzigste")
      , (91, "einundneunzigste")
      , (92, "zweiundneunzigste")
      , (93, "dreiundneunzigste")
      , (94, "vierundneunzigste")
      , (95, "fünfundneunzigste")
      , (96, "sechsundneunzigste")
      , (97, "siebenundneunzigste")
      , (98, "achtundneunzigste")
      , (99, "neunundneunzigste")
      , (100, "hundertste")
      , (101, "hunderterste")
      , (102, "hundertzweite")
      , (103, "hundertdritte")
      , (200, "zweihundertste")
      , (201, "zweihunderterste")
      , (202, "zweihundertzweite")
      , (203, "zweihundertdritte")
      , (900, "neunhundertste")
      , (901, "neunhunderterste")
      , (998, "neunhundertachtundneunzigste")
      , (999, "neunhundertneunundneunzigste")
      , (1000, "tausendste")
      , (1001, "tausenderste")
      , (1002, "tausendzweite")
      , (2000, "zweitausendste")
      , (2001, "zweitausenderste")
      , (2002, "zweitausendzweite")
      , (2004, "zweitausendvierte")
      , (10000, "zehntausendste")
      , (20000, "zwanzigtausendste")
      , (dec 5, "hunderttausendste")
      , (dec 6, "millionste")
      , (2 ⋅ dec 6, "zwei millionste")
      , (dec 9, "milliardste")
      , (dec 12, "billionste")
      ]
    )
  ]