tests für codea: zuweisungenen, variablendefinitionen, schreibender / lesender feldzu...
authorLukas Haselsteiner <privat@lukas-haselsteiner.at>
Mon, 17 May 2010 17:54:45 +0000 (19:54 +0200)
committerBernhard Urban <lewurm@gmail.com>
Mon, 17 May 2010 18:51:05 +0000 (20:51 +0200)
21 files changed:
codeb/intelli_01.0 [new file with mode: 0644]
codeb/intelli_01.call [new file with mode: 0644]
codeb/intelli_01.instr [new file with mode: 0644]
codeb/intelli_02.0 [new file with mode: 0644]
codeb/intelli_02.call [new file with mode: 0644]
codeb/intelli_02.instr [new file with mode: 0644]
codeb/intelli_03.0 [new file with mode: 0644]
codeb/intelli_03.call [new file with mode: 0644]
codeb/intelli_03.instr [new file with mode: 0644]
codeb/intelli_04.0 [new file with mode: 0644]
codeb/intelli_04.call [new file with mode: 0644]
codeb/intelli_04.instr [new file with mode: 0644]
codeb/intelli_05.0 [new file with mode: 0644]
codeb/intelli_05.call [new file with mode: 0644]
codeb/intelli_05.instr [new file with mode: 0644]
codeb/intelli_06.0 [new file with mode: 0644]
codeb/intelli_06.call [new file with mode: 0644]
codeb/intelli_06.instr [new file with mode: 0644]
codeb/intelli_07.0 [new file with mode: 0644]
codeb/intelli_07.call [new file with mode: 0644]
codeb/intelli_07.instr [new file with mode: 0644]

diff --git a/codeb/intelli_01.0 b/codeb/intelli_01.0
new file mode 100644 (file)
index 0000000..69c53bb
--- /dev/null
@@ -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 (file)
index 0000000..4f63ce3
--- /dev/null
@@ -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 (file)
index 0000000..9d60796
--- /dev/null
@@ -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 (file)
index 0000000..122a65d
--- /dev/null
@@ -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 (file)
index 0000000..f4b6a3d
--- /dev/null
@@ -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 (file)
index 0000000..25bf17f
--- /dev/null
@@ -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 (file)
index 0000000..0e1c22e
--- /dev/null
@@ -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 (file)
index 0000000..a9c4795
--- /dev/null
@@ -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 (file)
index 0000000..b5045cc
--- /dev/null
@@ -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 (file)
index 0000000..85a12c1
--- /dev/null
@@ -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 (file)
index 0000000..130f710
--- /dev/null
@@ -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 (file)
index 0000000..7813681
--- /dev/null
@@ -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 (file)
index 0000000..a110dc3
--- /dev/null
@@ -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 (file)
index 0000000..fb14422
--- /dev/null
@@ -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 (file)
index 0000000..9a03714
--- /dev/null
@@ -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 (file)
index 0000000..8033ef1
--- /dev/null
@@ -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 (file)
index 0000000..6f32852
--- /dev/null
@@ -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 (file)
index 0000000..3cacc0b
--- /dev/null
@@ -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 (file)
index 0000000..a56f9e9
--- /dev/null
@@ -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 (file)
index 0000000..d66845c
--- /dev/null
@@ -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 (file)
index 0000000..3f10ffe
--- /dev/null
@@ -0,0 +1 @@
+15
\ No newline at end of file