mirror of
https://github.com/ekmett/speculation.git
synced 2024-11-26 11:44:15 +03:00
28 lines
812 B
Haskell
28 lines
812 B
Haskell
{-# LANGUAGE BangPatterns #-}
|
|
module Main where
|
|
|
|
import Prelude hiding ((||),(&&))
|
|
import Test.Framework (Test)
|
|
import Test.Framework (defaultMain, testGroup)
|
|
import Test.Framework.Providers.HUnit
|
|
import Test.Framework.Providers.QuickCheck (testProperty)
|
|
import Test.QuickCheck hiding ((==>))
|
|
-- import Test.HUnit hiding (Test)
|
|
import Data.Speculation
|
|
|
|
main :: IO ()
|
|
main = defaultMain tests
|
|
|
|
ignore :: Functor f => f a -> f ()
|
|
ignore = fmap (const ())
|
|
|
|
tests :: [Test]
|
|
tests =
|
|
[ testGroup "cases" $ zipWith (testCase . show) [1 :: Int ..] $
|
|
[]
|
|
, testGroup "properties" $ zipWith (testProperty . show) [1 :: Int ..] $
|
|
[ property $ \ a -> spec a (*2) a == ((*2) a :: Int) -- unevaluated
|
|
, property $ \ !a -> spec a (*2) a == ((*2) $! a :: Int) -- evaluated
|
|
]
|
|
]
|