1 // Mart Lubbers s4109503
2 // Charlie Gerhardus s3050009
5 import iTasks._Framework.Generic,
6 Data.Functor, Control.Applicative, Control.Monad, Data.Map, StdMisc,
8 //import qualified iTasks
10 from Text import class Text, instance Text String
11 //from StdFunc import o
12 //import qualified Data.List as List
13 import StdGeneric, StdOverloaded, StdBool, StdString
14 //import StdArray, StdOverloaded, StdOrdList, StdTuple, StdString, StdBool, StdMisc
16 :: TestState = {s :: Int, f :: Int}
17 :: Test :== TestState -> (TestState -> [String]) -> [String]
21 | Either (Match a) (Match a)
25 eval :: a (Match a) -> Bool | gEq{|*|}, qLess{|*|} a
26 eval x (Is y) = eval x y
27 eval x (IsEqual y) = x === y
28 eval x (LessThen y) = x < y
29 eval x (Not y) = not (eval x y)
30 eval x (Either y1 y2) = eval x y1 || eval x y2
32 assertThat :: String x (Match x) -> String
33 assertThat s x y = case eval x y of
34 True = "Success: " +++ s
37 Start = assertThat "Hello Wordl" (1+1) (IsEqual 2)