]> ocean-lang.org Git - ocean/blobdiff - csrc/oceani-tests.mdc
oceani: updates for new approach to parsing indents.
[ocean] / csrc / oceani-tests.mdc
index 54b08d02fd14fc6226164410754ccb99b30bf3c6..e3739ed940802dd324eebc14fec1eefdc03c8be4 100644 (file)
@@ -163,7 +163,7 @@ Now some contants
        oceani_tests += "consts"
 
 ###### test: consts
-       const:
+       const
                pi ::= 3.141 592 653
                four ::= 2 + 2 ; five ::= 10/2
        const pie ::= "I like Pie";
@@ -189,12 +189,12 @@ Test merging of variables from multiple cases
 
        program:
                for i:=0; then i=i+1; while i < 5:
-                       switch i
+                       switch i:
                                case 0: num:="zero"
                                case 1: num:="one"
                                case 2: num:="two"
                                case 3: num:="three"
-                               else:   num:="many"
+                               else    num:="many"
                        print num,", ",
                print
 
@@ -214,7 +214,7 @@ Now we need to test if/else and some different loops
                a := 4
                if a < 5:
                        print "Success"
-               else:
+               else
                        print "Failure"
                for b:=1; then b=b+b; while b < 100:
                        print '', b,
@@ -222,12 +222,12 @@ Now we need to test if/else and some different loops
                // Newtons method for square root of 2
                target ::= 2
                guess := target
-               for:
+               for
                        count: number = 0
-               while:
+               while
                        current := guess * guess
                        use +(current - target) > 0.000000001
-               do:
+               do
                        guess = (guess + (target / guess) ) / 2
                        print count, guess
                        count = count + 1
@@ -236,7 +236,7 @@ Now we need to test if/else and some different loops
                for j:=0; then j = j+3 ; while j < 10:
                        if j != 0 and then 20 / j > 3:
                                print "20 /", j," =", 20 / j
-                       else:
+                       else
                                print "I won't calculate 20 /", j
                pi ::= 3.1415926535897
                if 355/113 == pi or else +(pi - 355/113) < 0.001:
@@ -249,7 +249,7 @@ Now we need to test if/else and some different loops
                then { i = i+1 }
                while i <= 10:
                        sum = sum + i
-               else:
+               else
                        pass
                        print "sum 1..10 is", sum
 
@@ -289,7 +289,7 @@ Here I break it into two parts, keeping the array code separate.
                 */
                if A > B:
                        bigger := "yes"
-               else:
+               else
                        bigger := "no"
                print "Is", A, "bigger than", B,"? ", bigger
                /* If a variable is not used after the 'if', no
@@ -298,7 +298,7 @@ Here I break it into two parts, keeping the array code separate.
                if A > B * 2:
                        double:string = "yes"
                        print A, "is more than twice", B, "?", double
-               else:
+               else
                        double := B*2
                        print "double", B, "is", double
 
@@ -309,15 +309,15 @@ Here I break it into two parts, keeping the array code separate.
                        while a != b:
                                if a < b:
                                        b = b - a
-                               else:
+                               else
                                        a = a - b
                        print "GCD of", A, "and", B,"is", a
                else if a <= 0:
                        print a, "is not positive, cannot calculate GCD"
-               else:
+               else
                        print b, "is not positive, cannot calculate GCD"
 
-               for:
+               for
                        togo := 10
                        f1 := 1; f2 := 1
                        print "Fibonacci:", f1,f2,
@@ -331,25 +331,25 @@ Here I break it into two parts, keeping the array code separate.
 
                if bbool:
                        print astr ++ " was the str"
-               else:
+               else
                        print "I found the str over " ++ astr
 
                /* Binary search... */
-               for:
+               for
                        lo:= 0; hi := 100
                        target := 77
-               while:
+               while
                        mid := (lo + hi) / 2
                        if mid == target:
                                use Found
                        if mid < target:
                                lo = mid
-                       else:
+                       else
                                hi = mid
                        if hi - lo < 1:
                                use GiveUp
                        use True
-               do: pass
+               do pass
                case Found:
                        print "Yay, I found", target
                case GiveUp:
@@ -545,7 +545,7 @@ Time to test if structure declarations and accesses work correctly.
 
 ###### test: structs
 
-       struct foo:
+       struct foo
                size:[3]number
                name:string
                active:Boolean
@@ -560,7 +560,7 @@ Time to test if structure declarations and accesses work correctly.
                        case 2: nm:= "peter"
                        case 0: nm:= "bob"
                        case 1: nm:= "jane"
-                       else: nm:= "janine"
+                       else    nm:= "janine"
 
                        info[i].name = nm
                        info[i].size[0] = i*i
@@ -710,7 +710,7 @@ various places that `type_err()` are called.
 
 ###### test: type_err3
 
-       struct foo:
+       struct foo
                a: number
                b:string = "hello"
 
@@ -722,11 +722,11 @@ various places that `type_err()` are called.
                print 45 + ( "Hello" ++ "there")
                c[5] = 1
 
-               while:
+               while
                        use 1
                        use True
                        use "Hello"
-               do:
+               do
                        print
                case 1: print "one"
                case "Hello": print "Hello"
@@ -788,10 +788,10 @@ various places that `type_err()` are called.
        oceani_failing_tests += type_err_const type_err_const1
 
 ###### test: type_err_const
-       const:
+       const
                foo :: number = 45
                bar ::= "string" + 56
-       const:
+       const
                bar ::= "baz"
        program:
                foo := 4
@@ -805,7 +805,7 @@ various places that `type_err()` are called.
        .tmp.code:3:8: info: this is where 'foo' was first declared
 
 ###### test: type_err_const1
-       const:
+       const
                foo : number = 45
                bar := "string"
        program: