1 {-# OPTIONS_GHC -Wno-orphans #-}
 
   3 module Phylomemy.IndexationSpec where
 
   6 import Data.Function ((.))
 
   7 import Data.Functor ((<$>))
 
   8 import Data.GenValidity
 
   9 import Data.GenValidity.Map ()
 
  10 import Data.GenValidity.Sequence ()
 
  11 import Data.GenValidity.Set ()
 
  12 import Data.GenValidity.Text ()
 
  13 import Data.GenValidity.Time ()
 
  16 import Data.Sequence qualified as Seq
 
  17 import Data.Text.Short (ShortText)
 
  18 import Data.Text.Short qualified as ShortText
 
  19 import Data.Time (UTCTime)
 
  20 import Data.Validity.Map ()
 
  21 import Data.Validity.Set ()
 
  22 import Data.Validity.Text ()
 
  23 import GHC.Generics (Generic)
 
  25 import Test.Syd.Validity
 
  26 import Text.Show (Show (..))
 
  31 import Clustering.FrequentItemSet.BruteForce qualified as Clustering
 
  33 instance Validity ShortText where
 
  34   validate = trivialValidation
 
  35 instance GenValid ShortText where
 
  36   genValid = ShortText.fromText <$> genValid
 
  37   shrinkValid = (ShortText.fromText <$>) . shrinkValid . ShortText.toText
 
  38 instance GenValid Ngram
 
  39 instance GenValid Root
 
  40 instance (Validity pos, GenValid pos) => GenValid (Document pos)
 
  41 instance GenValid CoOccurences where
 
  42   genValid = genValidStructurallyWithoutExtraChecking
 
  43   shrinkValid = shrinkValidStructurallyWithoutExtraFiltering
 
  44 instance (Ord item, Validity item, Validity a, GenValid item, GenValid a) => GenValid (Clustering.Transaction item a)
 
  45 instance (Ord pos, Validity pos, GenValid pos) => GenValid (Range pos)
 
  48   deriving (Eq, Ord, Show, Num, Generic)
 
  49 instance ShowHuman Pos where
 
  50   showHuman (Pos x) = show x
 
  58   genValidSpec @(Document UTCTime)
 
  59   monoidSpec @CoOccurences
 
  61   genValidSpec @(Clustering.Transaction Root (Document ()))
 
  62   genValidSpec @(Rang :-> Clustering.Transaction Root (Document ()))
 
  63   genValidSpec @(Rang :-> Cluster :-> Seq.Seq (Clustering.Transaction Root (Document Pos)))