{-# OPTIONS_GHC -Wno-orphans #-} module Phylomemy.SimilaritySpec where import Data.Function ((.)) import Data.Functor ((<$>)) import Data.GenValidity.Map () import Data.GenValidity.Set () import Data.GenValidity.Text () import Data.GenValidity.Time () import Data.Validity.Map () import Data.Validity.Set () import Data.Validity.Text () import Numeric.Decimal (Decimal (..), unwrapDecimal) import Numeric.Probability (Probability, ProbabilityBounded (..)) import Test.Syd import Test.Syd.Validity import Phylomemy import Phylomemy.IndexationSpec () instance GenValid ProbabilityBounded where genValid = genWordX shrinkValid = (ProbabilityBounded <$>) . shrinkValid . unProbabilityBounded instance GenValid Probability where genValid = Decimal <$> genValid shrinkValid = (Decimal <$>) . shrinkValid . unwrapDecimal -- instance GenValid (Similarities Probability) where -- genValid = genValidStructurallyWithoutExtraChecking -- shrinkValid = shrinkValidStructurallyWithoutExtraFiltering spec :: Spec spec = do genValidSpec @Probability genValidSpec @(Similarities Probability)