{-# LANGUAGE StandaloneDeriving, DeriveDataTypeable, TypeSynonymInstances, FlexibleInstances #-}
-- | Module for using quickcheck properties
module Test.MuCheck.TestAdapter.SmallCheck where
import qualified Test.SmallCheck.Drivers as Sc
import Test.MuCheck.TestAdapter

import Data.Typeable

type SmallCheckSummary = Maybe Sc.PropertyFailure
deriving instance Typeable Sc.PropertyFailure

-- | Summarizable instance of `SmallCheckSummary`
instance Summarizable SmallCheckSummary where
  testSummary _mutant _test result = Summary $ _ioLog result
  isSuccess Nothing = True
  isSuccess _       = False