-- Copyright (c) 2016-present, Facebook, Inc.
-- All rights reserved.
--
-- This source code is licensed under the BSD-style license found in the
-- LICENSE file in the root directory of this source tree.


{-# LANGUAGE OverloadedStrings #-}

module Duckling.Numeral.TH.Corpus
  ( corpus ) where

import Prelude
import Data.String

import Duckling.Locale
import Duckling.Numeral.Types
import Duckling.Resolve
import Duckling.Testing.Types

corpus :: Corpus
corpus :: Corpus
corpus = (Context
testContext {locale :: Locale
locale = Lang -> Maybe Region -> Locale
makeLocale Lang
TH Maybe Region
forall a. Maybe a
Nothing}, Options
testOptions, [Example]
allExamples)

allExamples :: [Example]
allExamples :: [Example]
allExamples = [[Example]] -> [Example]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat
  [
    NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
0)
             [ Text
"0"
             , Text
"ไม่มี"
             , Text
"ศูนย์"
             ]
   ,NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
1)
             [ Text
"1"
             , Text
"หนึ่ง"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
2)
             [ Text
"2"
             , Text
"สอง"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
3)
             [ Text
"3"
             , Text
"สาม"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
10)
             [ Text
"10"
             , Text
"สิบ"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
12)
             [ Text
"12"
             , Text
"สิบสอง"
             , Text
"โหล"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
14)
             [ Text
"14"
             , Text
"สิบสี่"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
16)
             [ Text
"16"
             , Text
"สิบหก"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
17)
             [ Text
"17"
             , Text
"สิบเจ็ด"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
18)
             [ Text
"18"
             , Text
"สิบแปด"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
33)
             [ Text
"33"
             , Text
"0033"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
24)
             [ Text
"24"
             , Text
"สองโหล"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
1.1)
             [ Text
"1.1"
             , Text
"1.10"
             , Text
"01.10"
             , Text
"1 จุด 1"
             , Text
"หนึ่งจุดหนึ่ง"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
0.77)
             [ Text
".77"
             , Text
"0.77"
             , Text
"จุด 77"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
100000)
             [ Text
"100,000"
             , Text
"100,000.0"
             , Text
"100000"
             , Text
"หนึ่งแสน"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
0.2)
             [ Text
"1/5"
             , Text
"2/10"
             , Text
"3/15"
             , Text
"20/100"
             , Text
"ศูนย์จุดสอง"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
3e6)
             [ Text
"3000000"
             , Text
"3,000,000"
             , Text
"3 ล้าน"
             , Text
"สามล้าน"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
1.2e6)
             [ Text
"1,200,000"
             , Text
"1200000"
             , Text
"1.2 ล้าน"
             , Text
"หนึ่งจุดสองล้าน"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
5000)
             [ Text
"ห้าพัน"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue (-Double
504))
             [ Text
"-504"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue (-Double
1.2e6))
             [ Text
"- 1,200,000"
             , Text
"-1200000"
             , Text
"ลบ 1,200,000"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
122)
             [ Text
"หนึ่งร้อยยี่สิบสอง"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
2e5)
             [ Text
"สองแสน"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
21011)
             [ Text
"สองหมื่นหนึ่งพันสิบเอ็ด"
             , Text
"สองหมื่นหนึ่งพันสิบหนึ่ง"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
721012)
             [ Text
"เจ็ดแสนสองหมื่นหนึ่งพันสิบสอง"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
31256721)
             [ Text
"สามสิบเอ็ดล้านสองแสนห้าหมื่นหกพันเจ็ดร้อยยี่สิบเอ็ด"
             , Text
"สามสิบหนึ่งล้านสองแสนห้าหมื่นหกพันเจ็ดร้อยยี่สิบหนึ่ง"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
2400)
             [ Text
"สองร้อยโหล"
             , Text
"200 โหล"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
2200000)
             [ Text
"สองจุดสองล้าน"
             , Text
"สองล้านสองแสน"
             ]
  , NumeralValue -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Double -> NumeralValue
NumeralValue Double
3000000000)
             [ Text
"สามพันล้าน"
             ]
  ]