summaryrefslogtreecommitdiffstats
path: root/TestAufgabeFFP1.hs
blob: 7cbc2c26118557cade5a479a0a7f0226beeaea8f (plain)
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
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]

-------------------------------------------------------------------------------

tests :: [Test]
tests = [pof2s1, pdTests, fibdiagTests]

main = do
  forM tests $ \test ->
    runTestTT test