summaryrefslogtreecommitdiffstats
path: root/TestAufgabeFFP6.hs
blob: 77cae920d20ec61d9ffa472f00c9f92723d1ba7f (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
module Main where

import Test.HUnit
import Control.Monad
import AufgabeFFP6
import Data.Array

cases1 = TestLabel "eval" $ TestList [
  TestCase $ assertEqual "eval1" (0)
    (eval (array (1,3) [(1,1), (2,2), (3,3)]) (array (1,2) [(1,(+)), (2,(-))])),
  TestCase $ assertEqual "eval2" (5)
    (eval (array (1,3) [(1,1), (2,2), (3,3)]) (array (1,2) [(1,(*)), (2,(+))])),
  TestCase $ assertEqual "eval3" (-3)
    (eval (array (1,3) [(1,1), (2,2), (3,3)]) (array (1,2) [(1,(-)), (2,(*))])),
  TestCase $ assertEqual "eval4" (-1)
    (eval (array (1,6) [(1,3), (2,5), (3,2), (4,-2), (5,7), (6,0)]) (array (1,5) [(1,(+)), (2,(./.)), (3,(*)), (4,(+)), (5,(-))])),
  TestCase $ assertEqual "eval5" (1)
    (eval (array (1,6) [(1,3), (2,5), (3,2), (4,-2), (5,7), (6,0)]) (array (1,5) [(1,(*)), (2,(-)), (3,(+)), (4,(./.)), (5,(+))])),
  TestCase $ assertEqual "eval6" (-5)
    (eval (array (1,6) [(1,4), (2,2), (3,3), (4,-4), (5,5), (6,2)]) (array (1,5) [(1,(+)), (2,(./.)), (3,(*)), (4,(+)), (5,(-))])),
  TestCase $ assertEqual "eval7" (2)
    (eval (array (1,6) [(1,4), (2,2), (3,3), (4,-4), (5,5), (6,2)]) (array (1,5) [(1,(*)), (2,(-)), (3,(+)), (4,(./.)), (5,(+))]))
  ]

tests :: [Test]
tests = [cases1]

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