{-# OPTIONS_GHC -Wno-orphans #-} module Phylomemy.IndexationSpec where import Data.Function ((.)) import Data.Functor ((<$>)) import Data.GenValidity import Data.GenValidity.Map () import Data.GenValidity.Set () import Data.GenValidity.Text () import Data.GenValidity.Time () import Data.Text.Short (ShortText) import Data.Text.Short qualified as ShortText import Data.Time (UTCTime) import Data.Validity.Map () import Data.Validity.Set () import Data.Validity.Text () import Test.Syd import Test.Syd.Validity import Phylomemy instance Validity ShortText where validate = trivialValidation instance GenValid ShortText where genValid = ShortText.fromText <$> genValid shrinkValid = (ShortText.fromText <$>) . shrinkValid . ShortText.toText instance GenValid Ngram instance GenValid Root instance (Validity pos, GenValid pos) => GenValid (Document pos) instance GenValid CoOccurences where genValid = genValidStructurallyWithoutExtraChecking shrinkValid = shrinkValidStructurallyWithoutExtraFiltering spec :: Spec spec = do genValidSpec @(Document UTCTime) monoidSpec @CoOccurences