packages feed

ether-0.5.0.0: test/Regression/T4.hs

module Regression.T4 (test4) where

import Ether

import Test.Tasty
import Test.Tasty.QuickCheck

data RTag

testEther :: MonadReader RTag Int m => m Int
testEther = ask @RTag

runner r
  = flip (runReader  @RTag) (r' :: Int)
  . flip (runReaderT @RTag) (r  :: Int)
  where
    r' = negate r

test4 :: TestTree
test4 = testGroup "T4: Nested same-tag readers"
  [ testProperty "runner works"
    $ \r -> property
    $ runner r testEther == r
  ]