1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
module Main where
import Test.HUnit
import Control.Monad
import AufgabeFFP1
assertBoolF :: String -> Bool -> Assertion
assertBoolF msg b = when b (assertFailure msg)
-------------------------------------------------------------------------------
pof2s1 :: Test
pof2s1 = TestCase (assertEqual "pof2s"
[1,2,4,8,16,32,64,128,256,512]
(take 10 pof2s))
pof2sTests = TestList [pof2s1]
-------------------------------------------------------------------------------
pd1 :: Test
pd1 = TestCase (assertEqual "pd"
[[1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1], [1,5,10,10,5,1],
[1,6,15,20,15,6,1], [1,7,21,35,35,21,7,1], [1,8,28,56,70,56,28,8,1],
[1,9,36,84,126,126,84,36,9,1], [1,10,45,120,210,252,210,120,45,10,1]]
(take 11 pd))
pdTests = TestList [pd1]
-------------------------------------------------------------------------------
fibdiag1 :: Test
fibdiag1 = TestCase (assertEqual "fibdiag(1)" [1] (fibdiag 1))
fibdiag2 :: Test
fibdiag2 = TestCase (assertEqual "fibdiag(2)" [1] (fibdiag 2))
fibdiag3 :: Test
fibdiag3 = TestCase (assertEqual "fibdiag(3)" [1,1] (fibdiag 3))
fibdiag4 :: Test
fibdiag4 = TestCase (assertEqual "fibdiag(4)" [1,2] (fibdiag 4))
fibdiag5 :: Test
fibdiag5 = TestCase (assertEqual "fibdiag(5)" [1,3,1] (fibdiag 5))
fibdiag6 :: Test
fibdiag6 = TestCase (assertEqual "fibdiag(6)" [1,4,3] (fibdiag 6))
fibdiag7 :: Test
fibdiag7 = TestCase (assertEqual "fibdiag(7)" [1,5,6,1] (fibdiag 7))
fibdiag8 :: Test
fibdiag8 = TestCase (assertEqual "fibdiag(8)" [1,6,10,4] (fibdiag 8))
fibdiagTests = TestList [fibdiag1, fibdiag2, fibdiag3, fibdiag4, fibdiag5,
fibdiag6, fibdiag7, fibdiag8]
-------------------------------------------------------------------------------
fibdiags1 :: Test
fibdiags1 = TestCase (assertEqual "fibdiags"
[[1], [1], [1,1], [1,2], [1,3,1], [1,4,3], [1,5,6,1], [1,6,10,4]]
(take 8 fibdiags))
fibdiagsTests = TestList [fibdiags1]
-------------------------------------------------------------------------------
fibspd1 :: Test
fibspd1 = TestCase (assertEqual "fibspd"
[1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657]
(take 23 fibspd))
fibspdTests = TestList [fibspd1]
-------------------------------------------------------------------------------
tests :: [Test]
tests = [pof2s1, pdTests, fibdiagTests, fibdiagsTests, fibspdTests]
main = do
forM tests $ \test ->
runTestTT test
|