summaryrefslogtreecommitdiffstats
path: root/TestAufgabeFFP3.hs
blob: 065401df8a275af125a628bac0669eba1f128050 (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
module Main where

import Prelude hiding (filter)


import Test.HUnit
import Control.Monad
import AufgabeFFP3

cases1 = TestLabel "foo" $ TestList [
  TestCase $ assertEqual "a" [([(2,7),(2,6)],4,13)] ((selector1 . (filter 5) . transformer . generator) [(5,3),(2,7),(2,6),(10,100)]),
  TestCase $ assertEqual "b" ((selector1 . (filter 13) . transformer . generator) [(5,3),(2,7),(2,6),(10,100)]) [([(2,7),(10,100)],12,107)],
  TestCase $ assertEqual "c" ((selector1 . (filter 1) . transformer . generator) [(5,3),(2,7),(2,6),(10,100)]) [],
  TestCase $ assertEqual "d" ((selector1 . (filter 5) . transformer . generator) [(5,13),(2,7),(2,6),(10,100)]) [([(5,13)],5,13), ([(2,7),(2,6)],4,13)],
  TestCase $ assertEqual "e" ((selector2 . (filter 5) . transformer . generator) [(5,13),(2,7),(2,6),(10,100)]) [([(2,7),(2,6)],4,13)]
  ]

cases2 = TestLabel "bar" $ TestList [
  TestCase $ assertEqual "a" [ binomS (8, i) | i <- [0..7] ] [ binom (8, i) | i <- [0..7] ],
  TestCase $ assertEqual "a" (binom (1,1)) (binomS (1,1)),
  TestCase $ assertEqual "a" (binom (2,1)) (binomS (2,1)),
  TestCase $ assertEqual "a" (binom (18,12)) (binomS (18,12))
  ]

cases3 = TestLabel "bar" $ TestList [
  TestCase $ assertEqual "a" [ binomM (8, i) | i <- [0..7] ] [ binom (8, i) | i <- [0..7] ],
  TestCase $ assertEqual "a" (binom (1,1)) (binomM (1,1)),
  TestCase $ assertEqual "a" (binom (2,1)) (binomM (2,1)),
  TestCase $ assertEqual "a" (binom (18,12)) (binomM (18,12))
  ]

cases4 = TestLabel "bar" $ TestList [
  TestCase $ assertEqual "a" ( [binomS (n, k) | k <- [0..50], n <- [k..50] ] ) ( [binomM (n, k) | k <- [0..50], n <- [k..50] ] ) 
  ]


tests :: [Test]
tests = [cases1, cases2, cases3, cases4]

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