Newer
Older
zweic / tests / 4 / class00.zwei
@ajaggi ajaggi on 26 Dec 2005 867 bytes Added some test cases
// zweic - test program for class typing
// M. Ganguin, J. Ruffin 2005

// Class

// Superclass typing
class SuperClassTest extends unknown {} // 1/4 failure of clause 1 (incorrectly typed superclass)

// Class scope typing
class ClassSymbolTest {} class ClassSymbolTest {} // 2/4 failure of clause 2 (class already defined)

// Class member typing
class ClassMemberTest {
    Int x; // success
    RANDOM y; // 3/4 failure of clause 3 (incorrectly typed member)
    Null foo() { NONE; } // 4/4 failure of clause 3 (incorrectly typed member)
    Int bar() { Int a = 2; return a + 2 } // success
}

// Happy Day Scenario

class WorkingClassTest {
    Int x;
    Null y;
    Null foo() {
        2 + 2;
    }
    Int bar() {
        Int z = this.x + 2;
        return z
    }
} // success

{
    WorkingClassTest w = new WorkingClassTest(3, null);
    return w.bar()
}