packages feed

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

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

{-|
[@ISO639-1@]        he

[@ISO639-2@]        heb

[@ISO639-3@]        heb

[@Native name@]     עִבְרִית

[@English name@]    Modern Hebrew
-}

module Text.Numeral.Language.HE.TestData
  ( cardinals
  ) where


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

import "base" Prelude     ( Integral )
import "numerals" Text.Numeral.Grammar.Reified ( defaultInflection )
import "numerals" Text.Numeral.Grammar
import "numerals" Text.Numeral.Misc ( dec )
import "this" Text.Numeral.Test ( TestData )


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

{-
Sources:
  E-mail by Yitzchak Gale.
  http://www.hebrew4christians.com/Grammar/Unit_Eight/Cardinal_Numbers/cardinal_numbers.html
-}

cardinals ∷ (Integral i) ⇒ TestData i
cardinals =
  [ ( "feminine"
    , feminine defaultInflection
    , [ (0, "אפס")
      , (1, "אחת")
      , (2, "שתיים") -- Connecting form: "שתי"
      , (3, "שלוש")
      , (4, "ארבע")
      , (5, "חמש")
      , (6, "שש")
      , (7, "שבע")
      , (8, "שמונה")
      , (9, "תשע")
      , (10, "עשר")
      , (11, "אחת עשרה")
      , (12, "שתים עשרה")
      , (13, "שלוש עשרה")
      , (14, "ארבע עשרה")
      , (15, "חמש עשרה")
      , (16, "שש עשרה")
      , (17, "שבע עשרה")
      , (18, "שמונה עשרה")
      , (19, "תשע עשרה")
      , (20, "עשרים")
      , (21, "עשרים ואחת")
      , (22, "עשרים ושתיים")
      , (23, "עשרים ושלוש")
      , (24, "עשרים וארבע")
      , (25, "עשרים וחמש")
      , (26, "עשרים ושש")
      , (27, "עשרים ושבע")
      , (28, "עשרים ושמונה")
      , (29, "עשרים ותשע")
      , (30, "שלושים")
      , (31, "שלושים ואחת")
      , (32, "שלושים ושתיים")
      , (33, "שלושים ושלוש")
      , (34, "שלושים וארבע")
      , (35, "שלושים וחמש")
      , (36, "שלושים ושש")
      , (37, "שלושים ושבע")
      , (38, "שלושים ושמונה")
      , (39, "שלושים ותשע")
      , (40, "ארבעים")
      , (41, "ארבעים ואחת")
      , (42, "ארבעים ושתיים")
      , (43, "ארבעים ושלוש")
      , (44, "ארבעים וארבע")
      , (45, "ארבעים וחמש")
      , (46, "ארבעים ושש")
      , (47, "ארבעים ושבע")
      , (48, "ארבעים ושמונה")
      , (49, "ארבעים ותשע")
      , (50, "חמישים")
      , (51, "חמישים ואחת")
      , (52, "חמישים ושתיים")
      , (53, "חמישים ושלוש")
      , (54, "חמישים וארבע")
      , (55, "חמישים וחמש")
      , (56, "חמישים ושש")
      , (57, "חמישים ושבע")
      , (58, "חמישים ושמונה")
      , (59, "חמישים ותשע")
      , (60, "ששים")
      , (61, "ששים ואחת")
      , (62, "ששים ושתיים")
      , (63, "ששים ושלוש")
      , (64, "ששים וארבע")
      , (65, "ששים וחמש")
      , (66, "ששים ושש")
      , (67, "ששים ושבע")
      , (68, "ששים ושמונה")
      , (69, "ששים ותשע")
      , (70, "שבעים")
      , (71, "שבעים ואחת")
      , (72, "שבעים ושתיים")
      , (73, "שבעים ושלוש")
      , (74, "שבעים וארבע")
      , (75, "שבעים וחמש")
      , (76, "שבעים ושש")
      , (77, "שבעים ושבע")
      , (78, "שבעים ושמונה")
      , (79, "שבעים ותשע")
      , (80, "שמונים")
      , (81, "שמונים ואחת")
      , (82, "שמונים ושתיים")
      , (83, "שמונים ושלוש")
      , (84, "שמונים וארבע")
      , (85, "שמונים וחמש")
      , (86, "שמונים ושש")
      , (87, "שמונים ושבע")
      , (88, "שמונים ושמונה")
      , (89, "שמונים ותשע")
      , (90, "תשעים")
      , (91, "תשעים ואחת")
      , (92, "תשעים ושתיים")
      , (93, "תשעים ושלוש")
      , (94, "תשעים וארבע")
      , (95, "תשעים וחמש")
      , (96, "תשעים ושש")
      , (97, "תשעים ושבע")
      , (98, "תשעים ושמונה")
      , (99, "תשעים ותשע")
      , (100, "מאה")
      , (101, "מאה ואחת")
      , (110, "מאה ועשר")
      , (111, "מאה אחת עשרה")
      , (123, "מאה עשרים ושלוש")
      , (144, "מאה ארבעים וארבע")
      , (199, "מאה תשעים ותשע")
      , (200, "מאתיים")
      , (299, "מאתיים תשעים ותשע")
      , (300, "שלוש מאות")
      , (400, "ארבע מאות")
      , (900, "תשע מאות")
      , (1000, "אלף")
      , (1999, "אלף תשע מאות תשעים ותשע")
      , (2000, "אלפיים")
      , (2999, "אלפיים תשע מאות תשעים ותשע")
      , (3000, "שלושת אלפים")
      , (3110, "שלושת אלפים מאה ועשר")
      , (4000, "ארבעת אלפים")
      , (5000, "חמשת אלפים")
      , (6000, "ששת אלפים")
      , (7000, "שבעת אלפים")
      , (8000, "שמונת אלפים")
      , (9000, "תשעת אלפים")
      , (10000, "עשרת אלפים")
      , (11000, "אחד עשר אלף")
      , (12000, "שנים עשר אלף")
      , (dec 5, "מאה אלף")
      , (dec 6, "מיליון")
      , (dec 9, "מיליארד")
      ]
    )
  , ( "masculine"
    , masculine defaultInflection
    , [ (0, "אפס")
      , (1, "אחד")
      , (2, "שניים") -- Connecting form: "שני"
      , (3, "שלושה")
      , (4, "ארבעה")
      , (5, "חמישה")
      , (6, "שישה")
      , (7, "שבעה")
      , (8, "שמונה")
      , (9, "תשעה")
      , (10, "עשרה")
      , (11, "אחד עשר")
      , (12, "שנים עשר")
      , (13, "שלושה עשר")
      , (14, "ארבעה עשר")
      , (15, "חמישה עשר")
      , (16, "שישה עשר")
      , (17, "שבעה עשר")
      , (18, "שמונה עשר")
      , (19, "תשעה עשר")
      , (20, "עשרים")
      , (21, "עשרים ואחד")
      , (22, "עשרים ושניים")
      , (23, "עשרים ושלושה")
      , (24, "עשרים וארבעה")
      , (25, "עשרים וחמישה")
      , (26, "עשרים ושישה")
      , (27, "עשרים ושבעה")
      , (28, "עשרים ושמונה")
      , (29, "עשרים ותשעה")
      , (30, "שלושים")
      , (31, "שלושים ואחד")
      , (32, "שלושים ושניים")
      , (33, "שלושים ושלושה")
      , (34, "שלושים וארבעה")
      , (35, "שלושים וחמישה")
      , (36, "שלושים ושישה")
      , (37, "שלושים ושבעה")
      , (38, "שלושים ושמונה")
      , (39, "שלושים ותשעה")
      , (40, "ארבעים")
      , (41, "ארבעים ואחד")
      , (42, "ארבעים ושניים")
      , (43, "ארבעים ושלושה")
      , (44, "ארבעים וארבעה")
      , (45, "ארבעים וחמישה")
      , (46, "ארבעים ושישה")
      , (47, "ארבעים ושבעה")
      , (48, "ארבעים ושמונה")
      , (49, "ארבעים ותשעה")
      , (50, "חמישים")
      , (51, "חמישים ואחד")
      , (52, "חמישים ושניים")
      , (53, "חמישים ושלושה")
      , (54, "חמישים וארבעה")
      , (55, "חמישים וחמישה")
      , (56, "חמישים ושישה")
      , (57, "חמישים ושבעה")
      , (58, "חמישים ושמונה")
      , (59, "חמישים ותשעה")
      , (60, "ששים")
      , (61, "ששים ואחד")
      , (62, "ששים ושניים")
      , (63, "ששים ושלושה")
      , (64, "ששים וארבעה")
      , (65, "ששים וחמישה")
      , (66, "ששים ושישה")
      , (67, "ששים ושבעה")
      , (68, "ששים ושמונה")
      , (69, "ששים ותשעה")
      , (70, "שבעים")
      , (71, "שבעים ואחד")
      , (72, "שבעים ושניים")
      , (73, "שבעים ושלושה")
      , (74, "שבעים וארבעה")
      , (75, "שבעים וחמישה")
      , (76, "שבעים ושישה")
      , (77, "שבעים ושבעה")
      , (78, "שבעים ושמונה")
      , (79, "שבעים ותשעה")
      , (80, "שמונים")
      , (81, "שמונים ואחד")
      , (82, "שמונים ושניים")
      , (83, "שמונים ושלושה")
      , (84, "שמונים וארבעה")
      , (85, "שמונים וחמישה")
      , (86, "שמונים ושישה")
      , (87, "שמונים ושבעה")
      , (88, "שמונים ושמונה")
      , (89, "שמונים ותשעה")
      , (90, "תשעים")
      , (91, "תשעים ואחד")
      , (92, "תשעים ושניים")
      , (93, "תשעים ושלושה")
      , (94, "תשעים וארבעה")
      , (95, "תשעים וחמישה")
      , (96, "תשעים ושישה")
      , (97, "תשעים ושבעה")
      , (98, "תשעים ושמונה")
      , (99, "תשעים ותשעה")
      , (100, "מאה")
      , (101, "מאה ואחד")
      , (110, "מאה ועשרה")
      , (111, "מאה אחד עשרה")
      , (123, "מאה עשרים ושלושה")
      , (144, "מאה ארבעים וארבעה")
      , (199, "מאה תשעים ותשעה")
      , (200, "מאתיים")
      , (299, "מאתיים תשעים ותשעה")
      , (300, "שלוש מאות")
      , (400, "ארבע מאות")
      , (900, "תשע מאות")
      , (1000, "אלף")
      , (1999, "אלף תשע מאות תשעים ותשעה")
      , (2000, "אלפיים")
      , (2999, "אלפיים תשע מאות תשעים ותשעה")
      , (3000, "שלושת אלפים")
      , (3110, "שלושת אלפים מאה ועשרה")
      , (4000, "ארבעת אלפים")
      , (5000, "חמשת אלפים")
      , (6000, "ששת אלפים")
      , (7000, "שבעת אלפים")
      , (8000, "שמונת אלפים")
      , (9000, "תשעת אלפים")
      , (10000, "עשרת אלפים")
      , (11000, "אחד עשר אלף")
      , (12000, "שנים עשר אלף")
      , (dec 5, "מאה אלף")
      , (dec 6, "מיליון")
      , (dec 9, "מיליארד")
      ]
    )
  ]