Homework 3
This commit is contained in:
parent
bf60a078d7
commit
0afc86ceeb
129 changed files with 3163 additions and 4316 deletions
9
javali_tests/HW3/ErrCallBase.javali
Normal file
9
javali_tests/HW3/ErrCallBase.javali
Normal file
|
@ -0,0 +1,9 @@
|
|||
// Test that you cannot invoke a method on an integer.
|
||||
|
||||
class Main {
|
||||
void main() {
|
||||
int x;
|
||||
x = 1;
|
||||
x.foo();
|
||||
}
|
||||
}
|
9
javali_tests/HW3/ErrCircularInheritance.javali
Normal file
9
javali_tests/HW3/ErrCircularInheritance.javali
Normal file
|
@ -0,0 +1,9 @@
|
|||
/* Test that the circular inheritance between Foo and Bar is detected */
|
||||
class Foo extends Bar { }
|
||||
class Bar extends Foo { }
|
||||
|
||||
class Main {
|
||||
void main() {
|
||||
writeln();
|
||||
}
|
||||
}
|
11
javali_tests/HW3/ErrIfCondition.javali
Normal file
11
javali_tests/HW3/ErrIfCondition.javali
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* Test that if conditions must be boolean */
|
||||
class Main {
|
||||
void main() {
|
||||
if (84 / 2) {
|
||||
write(1);
|
||||
writeln();
|
||||
}
|
||||
write(2);
|
||||
writeln();
|
||||
}
|
||||
}
|
14
javali_tests/HW3/ErrUnknownField1.javali
Normal file
14
javali_tests/HW3/ErrUnknownField1.javali
Normal file
|
@ -0,0 +1,14 @@
|
|||
/* Test that an invalid field name is detected */
|
||||
|
||||
class X {
|
||||
int field;
|
||||
}
|
||||
|
||||
class Main {
|
||||
void main() {
|
||||
X x;
|
||||
x = new X();
|
||||
x.field = 0;
|
||||
x.notafield = 1; /* ILLEGAL: bad field name */
|
||||
}
|
||||
}
|
30
javali_tests/HW3/OkInheritanceFields.javali
Normal file
30
javali_tests/HW3/OkInheritanceFields.javali
Normal file
|
@ -0,0 +1,30 @@
|
|||
/* Test that fields are inherited */
|
||||
|
||||
class A {
|
||||
int foo;
|
||||
}
|
||||
|
||||
class B extends A {
|
||||
int bar;
|
||||
}
|
||||
|
||||
class Main {
|
||||
void main() {
|
||||
A a;
|
||||
B b;
|
||||
|
||||
a = new A();
|
||||
a.foo = 1;
|
||||
write(a.foo);
|
||||
|
||||
a = new B();
|
||||
a.foo = 2;
|
||||
write(a.foo);
|
||||
|
||||
b = new B();
|
||||
b.foo = 3;
|
||||
b.bar = 4;
|
||||
write(b.foo);
|
||||
write(b.bar);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue