module Test.Data.Term.Persistent where import Test.QuickCheck (TestGroup(..), TestResult, quickCheck1) import Prelude (IO, pure, bind, discard, ($), (==)) import Data.Term.Persistent (erase, get, getWithDefault, put) putGet :: IO Boolean putGet = do put 1 2 v <- get 1 pure $ v == 2 getWD :: IO Boolean getWD = do v <- getWithDefault 1223 22 pure $ v == 22 putErase :: IO Boolean putErase = do put 1 2 erase 1 test :: TestGroup (Integer -> IO TestResult) test = Exe [ quickCheck1 "put_get" putGet , quickCheck1 "getWithDefault" getWD , quickCheck1 "put_erase" putErase ]