auto-update-0.2.6: test/Control/ReaperSpec.hs
module Control.ReaperSpec (spec) where
-- import Control.Concurrent
-- import Control.Reaper
-- import Data.IORef
import Test.Hspec
-- import Test.Hspec.QuickCheck
spec :: Spec
spec = return ()
-- prop "works" $ \is -> do
-- reaper <- mkReaper defaultReaperSettings
-- { reaperAction = action
-- , reaperDelay = 1000
-- }
-- let mkTestCase i = do
-- ref <- newIORef 0
-- let expected = (abs i `mod` 10) + 1
-- reaperAdd reaper (expected, ref)
-- return (expected, ref)
-- testCases <- mapM mkTestCase is
-- let test (expected, ref) = do
-- actual <- readIORef ref
-- actual `shouldBe` (expected :: Int)
-- threadDelay 100000
-- mapM_ test testCases
-- [] <- reaperRead reaper
-- return ()
-- type Item = (Int, IORef Int)
-- action = mkListAction $ \(i, ref) -> do
-- modifyIORef ref succ
-- return $ if i > 1
-- then Just (pred i, ref)
-- else Nothing