1. 7shi

    No comment

    7shi
Changes in body
Source | HTML | Preview
@@ -34,35 +34,23 @@
ラベル ~: 式 ~?= 期待値
```
ラベルはテストに名前を付けるのに使用します。省略可能ですが、エラー発生時に識別が難しくなるため、付けておく方が無難です。
-```hs:Main.hs
-module Main where
-
+```hs
import Test.HUnit
import System.IO
-import Data.Char
-hexStrToInt hex = f (reverse hex)
- where
- f "" = 0
- f (x:xs) = (digitToInt x) + 16 * (f xs)
-
-hex x = if x1 == 0 then x2 else hex x1 ++ x2
- where
- x1 = x `div` 16
- x2 = [intToDigit (x `mod` 16)]
+fact 1 = 1
+fact n = n * fact (n - 1)
tests = TestList
- [ "show" ~: show 123 ~?= "123"
- , "digitToInt" ~: digitToInt 'a' ~?= 10
- , "intToDigit" ~: intToDigit 10 ~?= 'a'
- , "hexStrToInt 1" ~: hexStrToInt "100" ~?= 256
- , "hexStrToInt 2" ~: hexStrToInt "ffff" ~?= 65535
- , "hex 1" ~: hex 256 ~?= "100"
- , "hex 2" ~: hex 65535 ~?= "ffff"
+ [ "fact 1" ~: fact 1 ~?= 1
+ , "fact 2" ~: fact 2 ~?= 2
+ , "fact 3" ~: fact 3 ~?= 6
+ , "fact 4" ~: fact 4 ~?= 24
+ , "fact 5" ~: fact 5 ~?= 120
]
main = do
runTestText (putTextToHandle stderr False) tests
```
@@ -91,10 +79,13 @@
## エラー
テスト中にエラーが発生した場合は以下のように表示されます。
```hs
+import Test.HUnit
+import System.IO
+
f 1 = 0
tests = TestList
[ "f 0" ~: f 0 ~?= 0
, "f 1" ~: f 1 ~?= 0