From: Lukas Haselsteiner Date: Mon, 17 May 2010 17:54:45 +0000 (+0200) Subject: tests für codea: zuweisungenen, variablendefinitionen, schreibender / lesender feldzu... X-Git-Url: http://wien.tomnetworks.com/gitweb/?p=testub10.git;a=commitdiff_plain;h=6eb04bb0bb5e910943247d0b157dff8a1199ad3d tests für codea: zuweisungenen, variablendefinitionen, schreibender / lesender feldzugriff --- diff --git a/codeb/intelli_01.0 b/codeb/intelli_01.0 new file mode 100644 index 0000000..69c53bb --- /dev/null +++ b/codeb/intelli_01.0 @@ -0,0 +1,6 @@ +struct goo gaa gee end; + +method s(x y) + var foobar := (this.gaa * x.goo) - (y * -2); + return foobar * foobar; +end; diff --git a/codeb/intelli_01.call b/codeb/intelli_01.call new file mode 100644 index 0000000..4f63ce3 --- /dev/null +++ b/codeb/intelli_01.call @@ -0,0 +1,5 @@ +extern long s(long *this, long*, long); + +long ar[] = {111, 222, 333}; + +RET(s(ar, ar, 5) == ((ar[1] * ar[0]) - (5 * -2)) * ((ar[1] * ar[0]) - (5 * -2))); diff --git a/codeb/intelli_01.instr b/codeb/intelli_01.instr new file mode 100644 index 0000000..9d60796 --- /dev/null +++ b/codeb/intelli_01.instr @@ -0,0 +1 @@ +11 \ No newline at end of file diff --git a/codeb/intelli_02.0 b/codeb/intelli_02.0 new file mode 100644 index 0000000..122a65d --- /dev/null +++ b/codeb/intelli_02.0 @@ -0,0 +1,13 @@ +method a() + var u := 3; + var v := this; + return u - (v - 10); +end; + +method b() + var u := 10; + var v := u; + return (u - (-1 * v)); +end; + + diff --git a/codeb/intelli_02.call b/codeb/intelli_02.call new file mode 100644 index 0000000..f4b6a3d --- /dev/null +++ b/codeb/intelli_02.call @@ -0,0 +1,5 @@ +extern long a(long long this); +extern long b(long long this); + + +RET(a(20) == -7 && b(0xDEAD) == 20); diff --git a/codeb/intelli_02.instr b/codeb/intelli_02.instr new file mode 100644 index 0000000..25bf17f --- /dev/null +++ b/codeb/intelli_02.instr @@ -0,0 +1 @@ +18 \ No newline at end of file diff --git a/codeb/intelli_03.0 b/codeb/intelli_03.0 new file mode 100644 index 0000000..0e1c22e --- /dev/null +++ b/codeb/intelli_03.0 @@ -0,0 +1,17 @@ +struct x y z end; + +method a() + var u := this.x; + var v := 4711; + u := u * this.y; + v := u - (0 - v); + return u - v; +end; + +method b(a) + var u := 10; + u := a.z; + return u * 2; +end; + + diff --git a/codeb/intelli_03.call b/codeb/intelli_03.call new file mode 100644 index 0000000..a9c4795 --- /dev/null +++ b/codeb/intelli_03.call @@ -0,0 +1,6 @@ +extern long a(long long *this); +extern long b(long long this, long long *a); + +long long ar[3] = { 2, 4, 8 }; + +RET(a(ar) == -4711 && b(0xDEAD, ar) == 16); diff --git a/codeb/intelli_03.instr b/codeb/intelli_03.instr new file mode 100644 index 0000000..b5045cc --- /dev/null +++ b/codeb/intelli_03.instr @@ -0,0 +1 @@ +21 \ No newline at end of file diff --git a/codeb/intelli_04.0 b/codeb/intelli_04.0 new file mode 100644 index 0000000..85a12c1 --- /dev/null +++ b/codeb/intelli_04.0 @@ -0,0 +1,8 @@ +struct x y z end; + +method a() + this.x := /*0*/815; + /*z := y * this.x;*/ + return this.x; +end; + diff --git a/codeb/intelli_04.call b/codeb/intelli_04.call new file mode 100644 index 0000000..130f710 --- /dev/null +++ b/codeb/intelli_04.call @@ -0,0 +1,6 @@ +extern long a(long long *this); + + +long long ar[3] = { 2, 4, 8 }; + +RET(a(ar) == 815 && ar[0] == 815); diff --git a/codeb/intelli_04.instr b/codeb/intelli_04.instr new file mode 100644 index 0000000..7813681 --- /dev/null +++ b/codeb/intelli_04.instr @@ -0,0 +1 @@ +5 \ No newline at end of file diff --git a/codeb/intelli_05.0 b/codeb/intelli_05.0 new file mode 100644 index 0000000..a110dc3 --- /dev/null +++ b/codeb/intelli_05.0 @@ -0,0 +1,11 @@ +struct x y z end; + +method a() + this.x := /*0*/815; + z := y * this.x; + return this.z; +end; + + + + diff --git a/codeb/intelli_05.call b/codeb/intelli_05.call new file mode 100644 index 0000000..fb14422 --- /dev/null +++ b/codeb/intelli_05.call @@ -0,0 +1,6 @@ +extern long a(long long *this); + + +long long ar[3] = { 2, 4, 8 }; + +RET(a(ar) == 3260 && ar[2] == 3260 && ar[0] == 815); \ No newline at end of file diff --git a/codeb/intelli_05.instr b/codeb/intelli_05.instr new file mode 100644 index 0000000..9a03714 --- /dev/null +++ b/codeb/intelli_05.instr @@ -0,0 +1 @@ +10 \ No newline at end of file diff --git a/codeb/intelli_06.0 b/codeb/intelli_06.0 new file mode 100644 index 0000000..8033ef1 --- /dev/null +++ b/codeb/intelli_06.0 @@ -0,0 +1,8 @@ +struct x y z end; + +method b(a) + a.x := 3; + a.y := 2; + a.z := (a.x * a.y) - 10; + return a; +end; diff --git a/codeb/intelli_06.call b/codeb/intelli_06.call new file mode 100644 index 0000000..6f32852 --- /dev/null +++ b/codeb/intelli_06.call @@ -0,0 +1,5 @@ +extern long long* b(long long this, long long *a); + +long long ar[3] = { 2, 4, 8 }; + +RET(b(0xDEAD, ar) == ar && ar[0] == 3 && ar[1] == 2 && ar[2] == -4); diff --git a/codeb/intelli_06.instr b/codeb/intelli_06.instr new file mode 100644 index 0000000..3cacc0b --- /dev/null +++ b/codeb/intelli_06.instr @@ -0,0 +1 @@ +12 \ No newline at end of file diff --git a/codeb/intelli_07.0 b/codeb/intelli_07.0 new file mode 100644 index 0000000..a56f9e9 --- /dev/null +++ b/codeb/intelli_07.0 @@ -0,0 +1,8 @@ +struct x y z end; + +method m(x) + var a := x; + this.x := (this.y or this.z) = a; + x := 47; + return this.y * x; +end; diff --git a/codeb/intelli_07.call b/codeb/intelli_07.call new file mode 100644 index 0000000..d66845c --- /dev/null +++ b/codeb/intelli_07.call @@ -0,0 +1,5 @@ +extern long long m(long long *this, long long x); + +long long ar[3] = { 2, 4, 8 }; + +RET(m(ar, 12) == 188 && ar[0] == 1 && ar[1] == 4 && ar[2] == 8); diff --git a/codeb/intelli_07.instr b/codeb/intelli_07.instr new file mode 100644 index 0000000..3f10ffe --- /dev/null +++ b/codeb/intelli_07.instr @@ -0,0 +1 @@ +15 \ No newline at end of file