aboutsummaryrefslogtreecommitdiff
path: root/Haskell-book/14/morse/tests/WordNumberTest.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Haskell-book/14/morse/tests/WordNumberTest.hs')
-rw-r--r--Haskell-book/14/morse/tests/WordNumberTest.hs24
1 files changed, 24 insertions, 0 deletions
diff --git a/Haskell-book/14/morse/tests/WordNumberTest.hs b/Haskell-book/14/morse/tests/WordNumberTest.hs
new file mode 100644
index 0000000..d9623a9
--- /dev/null
+++ b/Haskell-book/14/morse/tests/WordNumberTest.hs
@@ -0,0 +1,24 @@
+module Main where
+
+import Test.Hspec
+import WordNumber (digitToWord, digits, wordNumber)
+
+main :: IO ()
+main = hspec $ do
+ describe "digitToWord" $ do
+ it "returns zero for 0" $ do
+ digitToWord 0 `shouldBe`"zero"
+ it "returns one for 1" $ do
+ digitToWord 1 `shouldBe` "one"
+
+ describe "digits" $ do
+ it "returns [1] for 1" $ do
+ digits 1 `shouldBe` [1]
+ it "returns [1, 0, 0] for 100" $ do
+ digits 100 `shouldBe` [1, 0, 0]
+
+ describe "wordNumber" $ do
+ it "one-zero-zero given 100" $ do
+ wordNumber 100 `shouldBe` "one-zero-zero"
+ it "nine-zero-zero-one for 9001" $ do
+ wordNumber 9001 `shouldBe` "nine-zero-zero-one" \ No newline at end of file