aboutsummaryrefslogtreecommitdiff
path: root/Haskell-book/26/Exercises/test
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2025-12-11 10:28:11 +0100
committerEugen Wissner <belka@caraus.de>2025-12-11 10:28:11 +0100
commit98329e0a3dd4f78b5d815ac3896272ec70904901 (patch)
tree80f9c56cfe2ac20232358f236d32e84bd683be1b /Haskell-book/26/Exercises/test
parent3624c712d72d246f21d4e710cec7c11e052e0326 (diff)
downloadbook-exercises-98329e0a3dd4f78b5d815ac3896272ec70904901.tar.gz
Add remaining haskell book exercises
Diffstat (limited to 'Haskell-book/26/Exercises/test')
-rw-r--r--Haskell-book/26/Exercises/test/Spec.hs19
1 files changed, 19 insertions, 0 deletions
diff --git a/Haskell-book/26/Exercises/test/Spec.hs b/Haskell-book/26/Exercises/test/Spec.hs
new file mode 100644
index 0000000..92db8e6
--- /dev/null
+++ b/Haskell-book/26/Exercises/test/Spec.hs
@@ -0,0 +1,19 @@
+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"]