testcases for instructions INSERT, INSERT2, SELECT and ASS

This commit is contained in:
Francesco Cozzuto
2023-01-23 21:36:44 +01:00
parent 31d0c100c1
commit 5234fc73a8
17 changed files with 359 additions and 10 deletions
+17
View File
@@ -0,0 +1,17 @@
@type [runtime]
@bytecode
PUSHNNE;
ASS "xyz";
POP 1;
PUSHVAR "xyz";
PUSHVAR "print";
CALL 1, 1;
POP 1;
EXIT;
@output [none]
+28
View File
@@ -0,0 +1,28 @@
@type [runtime]
@bytecode
PUSHNNE;
ASS "xyz";
POP 1;
PUSHVAR "xyz";
PUSHVAR "print";
CALL 1, 1;
POP 1;
PUSHSTR "/";
PUSHVAR "print";
CALL 1, 1;
POP 1;
PUSHINT 99;
ASS "xyz";
POP 1;
PUSHVAR "xyz";
PUSHVAR "print";
CALL 1, 1;
POP 1;
EXIT;
@output [none/99]
@@ -0,0 +1,24 @@
@type [runtime]
@bytecode
PUSHLST 3;
PUSHINT 0;
PUSHSTR "A";
INSERT;
PUSHINT 1;
PUSHSTR "B";
INSERT;
PUSHINT 2;
PUSHSTR "C";
INSERT;
PUSHVAR "print";
CALL 1, 1;
POP 1;
EXIT;
@output {[A, B, C]}
@@ -0,0 +1,24 @@
@type [runtime]
@bytecode
PUSHLST 2;
PUSHINT 0;
PUSHSTR "A";
INSERT;
PUSHINT 1;
PUSHSTR "B";
INSERT;
PUSHINT 2;
PUSHSTR "C";
INSERT;
PUSHVAR "print";
CALL 1, 1;
POP 1;
EXIT;
@output {[A, B, C]}
@@ -0,0 +1,25 @@
@type [runtime]
@bytecode
PUSHMAP 3;
PUSHINT 0;
PUSHSTR "A";
INSERT;
PUSHINT 1;
PUSHSTR "B";
INSERT;
PUSHINT 2;
PUSHSTR "C";
INSERT;
PUSHVAR "print";
CALL 1, 1;
POP 1;
EXIT;
@output [{0: A, 1: B, 2: C}]
@@ -0,0 +1,25 @@
@type [runtime]
@bytecode
PUSHMAP 2;
PUSHINT 0;
PUSHSTR "A";
INSERT;
PUSHINT 1;
PUSHSTR "B";
INSERT;
PUSHINT 2;
PUSHSTR "C";
INSERT;
PUSHVAR "print";
CALL 1, 1;
POP 1;
EXIT;
@output [{0: A, 1: B, 2: C}]
@@ -0,0 +1,31 @@
@type [runtime]
@bytecode
PUSHLST 3;
ASS "list";
POP 1;
PUSHSTR "A";
PUSHVAR "list";
PUSHINT 0;
INSERT2;
PUSHSTR "B";
PUSHVAR "list";
PUSHINT 1;
INSERT2;
PUSHSTR "C";
PUSHVAR "list";
PUSHINT 2;
INSERT2;
PUSHVAR "list";
PUSHVAR "print";
CALL 4, 1;
POP 1;
EXIT;
@output {[A, B, C]CBA}
@@ -0,0 +1,31 @@
@type [runtime]
@bytecode
PUSHLST 2;
ASS "list";
POP 1;
PUSHSTR "A";
PUSHVAR "list";
PUSHINT 0;
INSERT2;
PUSHSTR "B";
PUSHVAR "list";
PUSHINT 1;
INSERT2;
PUSHSTR "C";
PUSHVAR "list";
PUSHINT 2;
INSERT2;
PUSHVAR "list";
PUSHVAR "print";
CALL 4, 1;
POP 1;
EXIT;
@output {[A, B, C]CBA}
@@ -0,0 +1,32 @@
@type [runtime]
@bytecode
PUSHMAP 3;
ASS "map";
POP 1;
PUSHSTR "A";
PUSHVAR "map";
PUSHINT 0;
INSERT2;
PUSHSTR "B";
PUSHVAR "map";
PUSHINT 1;
INSERT2;
PUSHSTR "C";
PUSHVAR "map";
PUSHINT 2;
INSERT2;
PUSHVAR "map";
PUSHVAR "print";
CALL 4, 1;
POP 1;
EXIT;
@output [{0: A, 1: B, 2: C}CBA]
@@ -0,0 +1,32 @@
@type [runtime]
@bytecode
PUSHMAP 2;
ASS "map";
POP 1;
PUSHSTR "A";
PUSHVAR "map";
PUSHINT 0;
INSERT2;
PUSHSTR "B";
PUSHVAR "map";
PUSHINT 1;
INSERT2;
PUSHSTR "C";
PUSHVAR "map";
PUSHINT 2;
INSERT2;
PUSHVAR "map";
PUSHVAR "print";
CALL 4, 1;
POP 1;
EXIT;
@output [{0: A, 1: B, 2: C}CBA]
@@ -0,0 +1,27 @@
@type [runtime]
@bytecode
PUSHLST 3;
PUSHINT 0;
PUSHSTR "A";
INSERT;
PUSHINT 1;
PUSHSTR "B";
INSERT;
PUSHINT 2;
PUSHSTR "C";
INSERT;
PUSHINT 1;
SELECT;
PUSHVAR "print";
CALL 1, 1;
POP 1;
EXIT;
@output [B]
@@ -0,0 +1,28 @@
@type [runtime]
@bytecode
PUSHMAP 3;
PUSHINT 0;
PUSHSTR "A";
INSERT;
PUSHINT 1;
PUSHSTR "B";
INSERT;
PUSHINT 2;
PUSHSTR "C";
INSERT;
PUSHINT 1;
SELECT;
PUSHVAR "print";
CALL 1, 1;
POP 1;
EXIT;
@output [B]
@@ -0,0 +1,28 @@
@type [runtime]
@bytecode
PUSHMAP 3;
PUSHINT 0;
PUSHSTR "A";
INSERT;
PUSHINT 1;
PUSHSTR "B";
INSERT;
PUSHINT 2;
PUSHSTR "C";
INSERT;
PUSHINT 8;
SELECT;
PUSHVAR "print";
CALL 1, 1;
POP 1;
EXIT;
@output [none]