{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE ScopedTypeVariables #-} module Monad.Trans where -- test-framework import Test.Framework -- test-framework-quickcheck2 import Test.Framework.Providers.QuickCheck2 -- QuickCheck import Test.QuickCheck -- essence-of-live-coding import LiveCoding import LiveCoding.Cell.Monad.Trans (State (State)) test = testGroup "Monad.Trans" [ testProperty "Migrates into runStateL" $ \(stateT :: Int) (stateInternal :: Int) -> State {..} === migrate State {stateInternal = 23, ..} stateInternal , testProperty "Migrates from runStateL" $ \(stateT :: Int) (stateInternal :: Int) -> stateInternal === migrate 42 State {..} ]