diff --git a/compiler/tests/len_array.mpcl b/compiler/tests/len_array.mpcl new file mode 100644 index 00000000..31426b0a --- /dev/null +++ b/compiler/tests/len_array.mpcl @@ -0,0 +1,11 @@ +// -*- go -*- + +package main + +type Field [10]int32 + +// @Test 0 0 = 10 +func main(a, b int32) int { + var arr Field + return len(arr) +} diff --git a/compiler/tests/len_array_sum.mpcl b/compiler/tests/len_array_sum.mpcl new file mode 100644 index 00000000..80e15eb8 --- /dev/null +++ b/compiler/tests/len_array_sum.mpcl @@ -0,0 +1,22 @@ +// -*- go -*- + +package main + +type Field [10]int32 + +// @Test 0 0 = 45 +// @Test 1 10 = 56 +func main(a, b int32) int { + var arr Field + + for i := 0; i < len(arr); i++ { + arr[i] = i + } + + var sum int32 + for i := 0; i < len(arr); i++ { + sum += arr[i] + } + + return sum + a + b +} diff --git a/compiler/tests/len_string.mpcl b/compiler/tests/len_string.mpcl new file mode 100644 index 00000000..77365e1d --- /dev/null +++ b/compiler/tests/len_string.mpcl @@ -0,0 +1,9 @@ +// -*- go -*- + +package main + +// @Test 0 0 = 13 +func main(a, b int32) int { + val := "Hello, world!" + return len(val) +} diff --git a/compiler/tests/len_string_sum.mpcl b/compiler/tests/len_string_sum.mpcl new file mode 100644 index 00000000..42043961 --- /dev/null +++ b/compiler/tests/len_string_sum.mpcl @@ -0,0 +1,15 @@ +// -*- go -*- + +package main + +// @Test 0 0 = 1161 +func main(a, b int32) int { + val := "Hello, world!" + + var sum int32 + for i := 0; i < len(val); i++ { + sum += int32(val[i]) + } + + return sum +}