X-Git-Url: https://ocean-lang.org/code/?p=ocean;a=blobdiff_plain;f=csrc%2Foceani-tests.mdc;h=396b13e8aa69b24f95a3797c7018f2d2c6c2dfa1;hp=8f10b89324aa7d7dbee42bdfeff3dac4664ba3bf;hb=b24e0b84da4cdd01999f87f132119083b2761b50;hpb=bc126aadf03e4e64710f2ad7d76d1247090219d5 diff --git a/csrc/oceani-tests.mdc b/csrc/oceani-tests.mdc index 8f10b89..396b13e 100644 --- a/csrc/oceani-tests.mdc +++ b/csrc/oceani-tests.mdc @@ -616,7 +616,7 @@ Time to test if structure declarations and accesses work correctly. Test functions. They don't return anything, so we need to get them to print ###### test list - oceani_tests += functions + oceani_tests += functions func_ret_type ###### test: functions @@ -655,6 +655,34 @@ Test functions. They don't return anything, so we need to get them to print 3 2 . 1 .. done 4 3 . 2 .. 1 ... done +###### test: func_ret_type + + func double(n:number):number + use n+n + + func answer + prefix:string + suffix:string + return string + do + use prefix ++ suffix + + func noarg_returns + return Boolean + do + use 22/7 == 3.14159 + + func main() + for j:=10; then j = j - 3; while j > -5: + print answer("dou","ble"), j, "is", double(j) + +###### output: func_ret_type + double 10 is 20 + double 7 is 14 + double 4 is 8 + double 1 is 2 + double -2 is -4 + ## Test code with syntax errors Syntax errors aren't handled well yet - the result is almost always a @@ -959,7 +987,15 @@ Test for type errors with functions if test1 == test2: pass + func test4(a:number):string + use a * a + + func test5(a:number):string + print a + ###### output: func_err_args + .tmp.code:28:14: error: expected string, found none + .tmp.code:25:8: error: expected string, found number .tmp.code:15:14: error: insufficient arguments to function. .tmp.code:16:14: error: expected number found string .tmp.code:16:22: error: expected string found number