summaryrefslogtreecommitdiffstats
path: root/TestAufgabeFFP6.hs
diff options
context:
space:
mode:
Diffstat (limited to 'TestAufgabeFFP6.hs')
-rw-r--r--TestAufgabeFFP6.hs78
1 files changed, 56 insertions, 22 deletions
diff --git a/TestAufgabeFFP6.hs b/TestAufgabeFFP6.hs
index c435045..1f661e6 100644
--- a/TestAufgabeFFP6.hs
+++ b/TestAufgabeFFP6.hs
@@ -13,39 +13,73 @@ cases1 = TestLabel "eval" $ TestList [
13 TestCase $ assertEqual "eval3" (-3) 13 TestCase $ assertEqual "eval3" (-3)
14 (eval (array (1,3) [(1,1), (2,2), (3,3)]) (array (1,2) [(1,(-)), (2,(*))])), 14 (eval (array (1,3) [(1,1), (2,2), (3,3)]) (array (1,2) [(1,(-)), (2,(*))])),
15 TestCase $ assertEqual "eval4" (-1) 15 TestCase $ assertEqual "eval4" (-1)
16 (eval (array (1,6) [(1,3), (2,5), (3,2), (4,-2), (5,7), (6,0)]) (array (1,5) [(1,(+)), (2,(./.)), (3,(*)), (4,(+)), (5,(-))])), 16 (eval (array (1,6) [(1,3), (2,5), (3,2), (4,-2), (5,7), (6,0)])
17 (array (1,5) [(1,(+)), (2,(./.)), (3,(*)), (4,(+)), (5,(-))])),
17 TestCase $ assertEqual "eval5" (1) 18 TestCase $ assertEqual "eval5" (1)
18 (eval (array (1,6) [(1,3), (2,5), (3,2), (4,-2), (5,7), (6,0)]) (array (1,5) [(1,(*)), (2,(-)), (3,(+)), (4,(./.)), (5,(+))])), 19 (eval (array (1,6) [(1,3), (2,5), (3,2), (4,-2), (5,7), (6,0)])
20 (array (1,5) [(1,(*)), (2,(-)), (3,(+)), (4,(./.)), (5,(+))])),
19 TestCase $ assertEqual "eval6" (-5) 21 TestCase $ assertEqual "eval6" (-5)
20 (eval (array (1,6) [(1,4), (2,2), (3,3), (4,-4), (5,5), (6,2)]) (array (1,5) [(1,(+)), (2,(./.)), (3,(*)), (4,(+)), (5,(-))])), 22 (eval (array (1,6) [(1,4), (2,2), (3,3), (4,-4), (5,5), (6,2)])
23 (array (1,5) [(1,(+)), (2,(./.)), (3,(*)), (4,(+)), (5,(-))])),
21 TestCase $ assertEqual "eval7" (2) 24 TestCase $ assertEqual "eval7" (2)
22 (eval (array (1,6) [(1,4), (2,2), (3,3), (4,-4), (5,5), (6,2)]) (array (1,5) [(1,(*)), (2,(-)), (3,(+)), (4,(./.)), (5,(+))])) 25 (eval (array (1,6) [(1,4), (2,2), (3,3), (4,-4), (5,5), (6,2)])
26 (array (1,5) [(1,(*)), (2,(-)), (3,(+)), (4,(./.)), (5,(+))]))
23 ] 27 ]
24 28
25instance Eq (Integer -> Integer -> Integer) where 29--------------------------------------------------------------------------------
26 (==) op1 op2 = ((op1 3 3) - (op2 3 3)) == 0
27instance Eq (Int -> Int -> Int) where
28 (==) op1 op2 = ((op1 3 3) - (op2 3 3)) == 0
29 30
30cases2 = TestLabel "yield_bt" $ TestList [ 31cases2 = TestLabel "yield_bt" $ TestList [
31 TestCase $ assertEqual "yield_bt1" (yield_bt (array (1,3) [(1,1),(2,2),(3,3)] ) 6) 32 TestCase $ assertEqual "yield_bt1"
32 [array (1,2) [(1,(+)),(2,(+))],array (1,2) [(1,(*)),(2,(*))]], 33 [array (1,2) [(1,(+)), (2,(+))],array (1,2) [(1,(*)), (2,(*))]]
33 TestCase $ assertEqual "yield_bt2" (yield_bt (array (1,3) [(1,1),(2,2),(3,3)] ) 4) [], 34 (yield_bt (array (1,3) [(1,1), (2,2), (3,3)] ) 6),
34 TestCase $ assertEqual "yield_bt3" (yield_bt (array (1,3) [(1,1),(2,2),(3,3)]) 0) 35 TestCase $ assertEqual "yield_bt2"
35 [(array (1,2) [(1,(+)),(2,(-))]),(array (1,2) [(1,(*)),(2,(./.))]),(array (1,2) [(1,(./.)),(2,(*))]),(array (1,2) [(1,(./.)),(2,(./.))])] 36 []
36 ] 37 (yield_bt (array (1,3) [(1,1), (2,2), (3,3)] ) 4),
37 38 TestCase $ assertEqual "yield_bt3"
39 [(array (1,2) [(1,(+)), (2,(-))]),(array (1,2) [(1,(*)), (2,(./.))]),
40 (array (1,2) [(1,(./.)), (2,(*))]),(array (1,2) [(1,(./.)), (2,(./.))])]
41 (yield_bt (array (1,3) [(1,1), (2,2), (3,3)]) 0),
42 TestCase $ assertEqual "yield_bt4"
43 [array (1,1) [(1,(+))], array (1,1) [(1,(-))]]
44 (yield_bt (array (1,2) [(1,1), (2,0)]) 1)
45 ]
38 46
39cases3 = TestLabel "yield_gtf" $ TestList [ 47cases3 = TestLabel "yield_gtf" $ TestList [
40 TestCase $ assertEqual "yield_gtf1" (yield_gtf (array (1,3) [(1,1),(2,2),(3,3)] ) 6) 48 TestCase $ assertEqual "yield_gtf1"
41 [array (1,2) [(1,(+)),(2,(+))],array (1,2) [(1,(*)),(2,(*))]], 49 [array (1,2) [(1,(+)), (2,(+))],array (1,2) [(1,(*)), (2,(*))]]
42 TestCase $ assertEqual "yield_gtf2" (yield_gtf (array (1,3) [(1,1),(2,2),(3,3)] ) 4) [], 50 (yield_gtf (array (1,3) [(1,1), (2,2), (3,3)] ) 6),
43 TestCase $ assertEqual "yield_gtf3" (yield_gtf (array (1,3) [(1,1),(2,2),(3,3)]) 0) 51 TestCase $ assertEqual "yield_gtf2"
44 [(array (1,2) [(1,(+)),(2,(-))]),(array (1,2) [(1,(*)),(2,(./.))]),(array (1,2) [(1,(./.)),(2,(*))]),(array (1,2) [(1,(./.)),(2,(./.))])] 52 []
45 ] 53 (yield_gtf (array (1,3) [(1,1), (2,2), (3,3)] ) 4),
54 TestCase $ assertEqual "yield_gtf3"
55 [(array (1,2) [(1,(+)), (2,(-))]),(array (1,2) [(1,(*)), (2,(./.))]),
56 (array (1,2) [(1,(./.)), (2,(*))]),(array (1,2) [(1,(./.)), (2,(./.))])]
57 (yield_gtf (array (1,3) [(1,1), (2,2), (3,3)]) 0),
58 TestCase $ assertEqual "yield_gtf4"
59 [array (1,1) [(1,(+))], array (1,1) [(1,(-))]]
60 (yield_gtf (array (1,2) [(1,1), (2,0)]) 1)
61 ]
62
63cases4 = TestLabel "yield" $ TestList [
64 TestCase $ assertEqual "yield"
65 [array (1,2) [(1,(+)), (2,(+))],array (1,2) [(1,(*)), (2,(*))]]
66 (yield (array (1,3) [(1,1), (2,2), (3,3)] ) 6),
67 TestCase $ assertEqual "yield"
68 []
69 (yield (array (1,3) [(1,1), (2,2), (3,3)] ) 4),
70 TestCase $ assertEqual "yield"
71 [(array (1,2) [(1,(+)), (2,(-))]),(array (1,2) [(1,(*)), (2,(./.))]),
72 (array (1,2) [(1,(./.)), (2,(*))]),(array (1,2) [(1,(./.)), (2,(./.))])]
73 (yield (array (1,3) [(1,1), (2,2), (3,3)]) 0),
74 TestCase $ assertEqual "yield"
75 [array (1,1) [(1,(+))], array (1,1) [(1,(-))]]
76 (yield (array (1,2) [(1,1), (2,0)]) 1)
77 ]
78
79--------------------------------------------------------------------------------
46 80
47tests :: [Test] 81tests :: [Test]
48tests = [cases1, cases2, cases3] 82tests = [cases1, cases2, cases3, cases4]
49 83
50main = do 84main = do
51 forM tests $ \test -> 85 forM tests $ \test ->