Add remaining haskell book exercises
This commit is contained in:
21
Haskell-book/15/optional/test/Spec.hs
Normal file
21
Haskell-book/15/optional/test/Spec.hs
Normal file
@@ -0,0 +1,21 @@
|
||||
import Data.Monoid
|
||||
import Optional
|
||||
import Test.Hspec
|
||||
|
||||
main :: IO ()
|
||||
main = hspec $ do
|
||||
describe "Sum" $ do
|
||||
it "1 + 1 is 2" $ do
|
||||
Only (Sum 1) `mappend` Only (Sum 1) `shouldBe` Only (Sum {getSum = 2})
|
||||
describe "Product" $ do
|
||||
it "4 * 2 is 8" $ do
|
||||
Only (Product 4) `mappend` Only (Product 2) `shouldBe` Only (Product {getProduct = 8})
|
||||
describe "Sum with Nada" $ do
|
||||
it "1 + Nada is 1" $ do
|
||||
Only (Sum 1) `mappend` Nada `shouldBe` Only (Sum {getSum = 1})
|
||||
describe "List" $ do
|
||||
it "[1] <> Nada is [1]" $ do
|
||||
Only [1] `mappend` Nada `shouldBe` Only [1]
|
||||
describe "Nada with sum" $ do
|
||||
it "Nada + 1 is 1" $ do
|
||||
Nada `mappend` Only (Sum 1) `shouldBe` Only (Sum {getSum = 1})
|
||||
Reference in New Issue
Block a user