-- 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.Duration.EL.Corpus
  ( corpus
  , negativeCorpus
  ) where

import Prelude
import Data.String

import Duckling.Duration.Types
import Duckling.Locale
import Duckling.Resolve
import Duckling.Testing.Types
import Duckling.TimeGrain.Types (Grain(..))

context :: Context
context :: Context
context = Context
testContext {locale :: Locale
locale = Lang -> Maybe Region -> Locale
makeLocale Lang
EL Maybe Region
forall a. Maybe a
Nothing}

corpus :: Corpus
corpus :: Corpus
corpus = (Context
context, Options
testOptions, [Example]
allExamples)

negativeCorpus :: NegativeCorpus
negativeCorpus :: NegativeCorpus
negativeCorpus = (Context
context, Options
testOptions, [Text]
examples)
  where
    examples :: [Text]
examples =
      [ Text
"για μήνες"
      , Text
"και ημέρες"
      ]

allExamples :: [Example]
allExamples :: [Example]
allExamples = [[Example]] -> [Example]
forall (t :: * -> *) a. Foldable t => t [a] -> [a]
concat
  [ DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
1 Grain
Second)
             [ Text
"ένα δευτερόλεπτο"
             , Text
"ενός δευτερολέπτου"
             , Text
"1 δεύτερο"
             , Text
"1\""
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
30 Grain
Second)
             [ Text
"30 δευτερόλεπτα"
             , Text
"τριάντα δευτερολέπτων"
             , Text
"μισό λεπτό"
             , Text
"30\""
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
1 Grain
Minute)
             [ Text
"ενός λεπτού"
             , Text
"1 λεπτού"
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
2 Grain
Minute)
             [ Text
"2 λεπτά"
             , Text
"δίλεπτο"
             , Text
"Δίλεπτο"
             , Text
"δύο λεπτά"
             , Text
"δυο λεπτά"
             , Text
"2'"
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
15 Grain
Minute)
             [ Text
"ένα τέταρτο"
             , Text
"δεκαπέντε λεπτά"
             , Text
"δεκαπεντάλεπτο"
             , Text
"Δεκαπεντάλεπτο"
             , Text
"15'"
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
30 Grain
Minute)
             [ Text
"μισάωρο"
             , Text
"τριάντα λεπτά"
             , Text
"μισή ώρα"
             , Text
"30'"
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
45 Grain
Minute)
             [ Text
"τρία τέταρτα"
             , Text
"σαρανταπεντάλεπτος"
             , Text
"45'"
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
60 Grain
Minute)
             [ Text
"60 λεπτά"
             , Text
"εξηντάλεπτο"
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
90 Grain
Minute)
             [ Text
"μια και μισή ώρα"
             , Text
"περίπου μια και μισή ώρα"
             , Text
"ακριβώς μια και μισή ώρα"
             , Text
"μιάμιση ώρα"
             , Text
"Μιάμιση ώρα"
             , Text
"1,5 ώρα"
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
5 Grain
Hour)
             [ Text
"πεντάωρο"
             , Text
"Πεντάωρο"
             , Text
"5 ώρες"
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
60 Grain
Hour)
             [ Text
"δυόμισι μέρες"
             , Text
"60 ώρες"
             , Text
"εξήντα ώρες"
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
15 Grain
Day)
             [ Text
"15 μέρες"
             , Text
"δεκαπενθήμερο"
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
30 Grain
Day)
             [ Text
"30 μέρες"
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
7 Grain
Week)
             [ Text
"εφτά εβδομάδες"
             , Text
"7 βδομάδες"
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
1 Grain
Month)
             [ Text
"1 μήνας"
             , Text
"ένα μήνα"
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
3 Grain
Quarter)
             [ Text
"3 τρίμηνα"
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
18 Grain
Month)
             [ Text
"18 μήνες"
             , Text
"ενάμισης χρόνος"
             , Text
"ένας και μισός χρόνος"
             , Text
"ενάμισι έτος"
             , Text
"ένα και μισό έτος"
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
2 Grain
Year)
             [ Text
"δυο χρόνια"
             , Text
"δύο έτη"
             , Text
"διετία"
             , Text
"διετής"
             , Text
"δίχρονο"
             ]
  , DurationData -> [Text] -> [Example]
forall a. ToJSON a => a -> [Text] -> [Example]
examples (Int -> Grain -> DurationData
DurationData Int
35 Grain
Year)
             [ Text
"τριανταπενταετής"
             , Text
"τριανταπεντάχρονος"
             , Text
"τριανταπενταετία"
             , Text
"35 χρόνια"
             ]
  ]