123456789101112131415161718192021222324252627282930313233343536373839 |
- #unittest {
- name: "Playing with class' init function;";
- error: FALSE;
- result: true;
- };
- class foo {
- func f1() {return 1;}
- }
- class bar:foo {
- var a;
- func init(val) {
- a = val;
- }
- func f1() {return 1 * a;}
- func f2() {return 2 * a;}
- }
- func main() {
- var f1 = foo();
- var b1 = bar(0);
- var b2 = bar(4);
- var b3 = bar(1);
- var r;
-
- r = b1.f1(); if (r != 0) return "-1 (" + r + ")";
- r = b2.f1(); if (r != 4) return "-2 (" + r + ")";
- r = b3.f1(); if (r != 1) return "-3 (" + r + ")";
-
- b3.init(2);
- r = b3.f1(); if (r != 2) return "-4 (" + r + ")";
-
- b3.init(4).init(8);
- r = b3.f1();
- if (r != 8) return "-5 (" + r + ")";
-
- return true;
- }
|