module Test.MuCheck.TestAdapter where
import qualified Language.Haskell.Interpreter as I
import Data.Typeable
data Summarizable a => InterpreterOutput a = Io {_io :: Either I.InterpreterError a, _ioLog::String}
type Mutant = String
type TestStr = String
newtype Summary = Summary String
deriving (Show, Typeable)
class Typeable s => Summarizable s where
testSummary :: Mutant -> TestStr -> InterpreterOutput s -> Summary
isSuccess :: s -> Bool
isFailure :: s -> Bool
isFailure = not . isSuccess
isOther :: s -> Bool
isOther x = not (isSuccess x) && not (isFailure x)