{-# LANGUAGE ScopedTypeVariables #-} module Cell where -- base import Prelude hiding (id) import Control.Category import Data.Functor.Identity -- transformers import Control.Monad.Trans.Identity -- test-framework import Test.Framework -- test-framework-quickcheck2 import Test.Framework.Providers.QuickCheck2 -- QuickCheck import Test.QuickCheck -- essence-of-live-coding import LiveCoding import qualified Cell.Util import qualified Cell.Monad.Trans test = testGroup "Cell" [ testProperty "steps produces outputs" $ \(inputs :: [Int]) -> inputs === fst (runIdentity $ steps (id :: Cell Identity Int Int) inputs) , Cell.Util.test , Cell.Monad.Trans.test ]