20 lines
588 B
Haskell
20 lines
588 B
Haskell
import Control.Monad.Trans.Reader
|
|
import Exercises
|
|
import Test.Hspec
|
|
|
|
main :: IO ()
|
|
main = hspec $ do
|
|
describe "rDec" $ do
|
|
it "returns a value decremented by one" $ do
|
|
runReader rDec 1 `shouldBe` 0
|
|
|
|
it "decrements all elements of a list" $ do
|
|
(fmap (runReader rDec) [1..10]) `shouldBe` [0,1,2,3,4,5,6,7,8,9]
|
|
|
|
describe "rShow" $ do
|
|
it "shows a number" $ do
|
|
runReader rShow 1 `shouldBe` "1"
|
|
|
|
it "shows a list" $ do
|
|
(fmap (runReader rShow) [1..10]) `shouldBe` ["1","2","3","4","5","6","7","8","9","10"]
|