class TestCase::Minimal : public {
  interface TestCase::CommonInterface;
  
  has x : public rw int;
  has y : public rw int;
  has tests : public TestCase[];
  
  static method new : TestCase::Minimal () {
    
    return new TestCase::Minimal;
  }
  
  method clear : void () {
    $self->{x} = 0;
    $self->{y} = 0;
  }

  method shared1 : string () {
    return "TestCase::Minimal->shared1";
  }
  
  method shared2 : string () {
    return "TestCase::Minimal->shared2";
  }

}