summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/micropython/viper_binop_arith.py36
-rw-r--r--tests/micropython/viper_binop_arith.py.exp25
-rw-r--r--tests/micropython/viper_binop_comp.py21
-rw-r--r--tests/micropython/viper_binop_comp.py.exp15
4 files changed, 97 insertions, 0 deletions
diff --git a/tests/micropython/viper_binop_arith.py b/tests/micropython/viper_binop_arith.py
new file mode 100644
index 000000000..137b8c104
--- /dev/null
+++ b/tests/micropython/viper_binop_arith.py
@@ -0,0 +1,36 @@
+# test arithmetic operators
+
+@micropython.viper
+def add(x:int, y:int):
+ print(x + y)
+ print(y + x)
+add(1, 2)
+add(42, 3)
+add(-1, 2)
+add(-42, -3)
+
+@micropython.viper
+def sub(x:int, y:int):
+ print(x - y)
+ print(y - x)
+sub(1, 2)
+sub(42, 3)
+sub(-1, 2)
+sub(-42, -3)
+
+@micropython.viper
+def shl(x:int, y:int):
+ print(x << y)
+shl(1, 0)
+shl(1, 3)
+shl(1, 30)
+shl(42, 10)
+shl(-42, 10)
+
+@micropython.viper
+def shr(x:int, y:int):
+ print(x >> y)
+shr(1, 0)
+shr(1, 3)
+shr(42, 2)
+shr(-42, 2)
diff --git a/tests/micropython/viper_binop_arith.py.exp b/tests/micropython/viper_binop_arith.py.exp
new file mode 100644
index 000000000..f10e998cd
--- /dev/null
+++ b/tests/micropython/viper_binop_arith.py.exp
@@ -0,0 +1,25 @@
+3
+3
+45
+45
+1
+1
+-45
+-45
+-1
+1
+39
+-39
+-3
+3
+-39
+39
+1
+8
+1073741824
+43008
+-43008
+1
+0
+10
+-11
diff --git a/tests/micropython/viper_binop_comp.py b/tests/micropython/viper_binop_comp.py
new file mode 100644
index 000000000..dcf91ed89
--- /dev/null
+++ b/tests/micropython/viper_binop_comp.py
@@ -0,0 +1,21 @@
+# test comparison operators
+@micropython.viper
+def f(x:int, y:int):
+ if x < y:
+ print(x, "<", y)
+ if x > y:
+ print(x, ">", y)
+ if x == y:
+ print(x, "==", y)
+ if x <= y:
+ print(x, "<=", y)
+ if x >= y:
+ print(x, ">=", y)
+ if x != y:
+ print(x, "!=", y)
+
+f(1, 1)
+f(2, 1)
+f(1, 2)
+f(2, -1)
+f(-2, 1)
diff --git a/tests/micropython/viper_binop_comp.py.exp b/tests/micropython/viper_binop_comp.py.exp
new file mode 100644
index 000000000..20a828931
--- /dev/null
+++ b/tests/micropython/viper_binop_comp.py.exp
@@ -0,0 +1,15 @@
+1 == 1
+1 <= 1
+1 >= 1
+2 > 1
+2 >= 1
+2 != 1
+1 < 2
+1 <= 2
+1 != 2
+2 > -1
+2 >= -1
+2 != -1
+-2 < 1
+-2 <= 1
+-2 != 1