-- | FitSpec Test Types: -- 'Nat', -- 'Int2', 'Int3', 'Int4', -- 'UInt2', 'UInt3', 'UInt4'. -- -- This module basically re-exports LeanCheck's Test.Types module -- and defines Mutable and ShowMutable instances for the types -- defined there. module FitSpec.TestTypes (module Test.LeanCheck.Utils.Types) where import FitSpec.Mutable import FitSpec.ShowMutable import Test.LeanCheck.Utils.Types -- {- Standard implementation: instance Mutable Nat where mutiers = mutiersEq instance Mutable Int1 where mutiers = mutiersEq instance Mutable Int2 where mutiers = mutiersEq instance Mutable Int3 where mutiers = mutiersEq instance Mutable Int4 where mutiers = mutiersEq instance Mutable Word1 where mutiers = mutiersEq instance Mutable Word2 where mutiers = mutiersEq instance Mutable Word3 where mutiers = mutiersEq instance Mutable Word4 where mutiers = mutiersEq -- -} {- Alternative implementation: instance Mutable Nat where mutants = mutantsIntegral instance Mutable Int2 where mutants = mutantsIntegral instance Mutable Int3 where mutants = mutantsIntegral instance Mutable Int4 where mutants = mutantsIntegral instance Mutable Word2 where mutants = mutantsIntegral instance Mutable Word3 where mutants = mutantsIntegral instance Mutable Word4 where mutants = mutantsIntegral -- -} instance ShowMutable Nat where mutantS = mutantSEq instance ShowMutable Int1 where mutantS = mutantSEq instance ShowMutable Int2 where mutantS = mutantSEq instance ShowMutable Int3 where mutantS = mutantSEq instance ShowMutable Int4 where mutantS = mutantSEq instance ShowMutable Word1 where mutantS = mutantSEq instance ShowMutable Word2 where mutantS = mutantSEq instance ShowMutable Word3 where mutantS = mutantSEq instance ShowMutable Word4 where mutantS = mutantSEq