-- | -- Module : Test.FitSpec.TestTypes -- Copyright : (c) 2015-2017 Rudy Matela -- License : 3-Clause BSD (see the file LICENSE) -- Maintainer : Rudy Matela -- -- FitSpec's Test Types: -- 'Nat', -- 'Int2', 'Int3', 'Int4', -- 'UInt2', 'UInt3', 'UInt4'. -- -- This module re-exports "Test.LeanCheck.Utils.Types" module -- and defines 'Mutable' and 'ShowMutable' instances for the types -- defined there. module Test.FitSpec.TestTypes (module Test.LeanCheck.Utils.Types) where import Test.FitSpec.Mutable import Test.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