]> ocean-lang.org Git - ocean/blobdiff - csrc/oceani-tests.mdc
oceani: discard AssignRef and DeclareRef
[ocean] / csrc / oceani-tests.mdc
index 4e9f4e388ea123f0c457c97830f6818df8db799f..fafb78821b76d5d1891cf1a630ad8896ef918a11 100644 (file)
@@ -295,6 +295,19 @@ Now we need to test if/else and some different loops
                else
                        print 'larger'
 
+               // different parsing options
+               for {
+                       x:=1; sum := 0
+               } then {
+                       x = x + 1
+               } while {
+                       use x < 10 
+               } do {
+                       sum = sum + x
+               } case 1 {
+                       print "impossible"
+               }
+
 ###### output: cond_loop
        Success
         1 2 4 8 16 32 64
@@ -609,6 +622,11 @@ Time to test if structure declarations and accesses work correctly.
                active:Boolean = True
 
        struct baz { a:number; b:Boolean; }
+       struct bat {
+               a:string
+               b:Boolean
+       }
+       struct bat2 a:string; b:Boolean
 
        func main
        do
@@ -629,6 +647,8 @@ Time to test if structure declarations and accesses work correctly.
                for i:=0; then i=i+1; while i < 4:
                        print info[i].name, info[i].active, info[i].size[0]
                info[0].thing.b = True
+               x:bat
+               x.a = "Hello"
 
 ###### output: structs
 
@@ -686,6 +706,22 @@ Test functions.  They don't return anything, so we need to get them to print
                angular := to_polar(32, 23)
                print angular.rho, angular.theta
 
+       func test2(n:number; s:string;) : (ret:number)
+               ret = n + $s
+
+       func random
+       return
+               n:number
+       do
+               n = 4 // xkcd:221
+
+       // exercise the parsing options
+       func t1 (a:number) {
+               print "t1"
+       }
+       func t2 (a:string) {print "string"}
+       func t3() print "t3"
+
 ###### output: functions
        done
        1  done