class TestCase::Inheritance { use TestCase::SimpleChild; static method basic : int () { my $simple_child = TestCase::SimpleChild->new; unless ($simple_child isa TestCase::SimpleChild) { return 0; } $simple_child->{x} = 1; $simple_child->{y} = 2; $simple_child->{z} = 3; $simple_child->clear; unless ($simple_child->{x} == 0 && $simple_child->{y} == 0 && $simple_child->{x} == 0) { return 0; } my $simple = (TestCase::Simple)$simple_child; $simple_child->{x} = 1; $simple_child->{y} = 2; $simple_child->{z} = 3; $simple->clear; unless ($simple_child->{x} == 0 && $simple_child->{y} == 0 && $simple_child->{x} == 0) { return 0; } $simple = undef; $TestCase::Simple::DESTROY_VALUE = 0; $simple_child = undef; unless ($TestCase::Simple::DESTROY_VALUE == 3) { return 0; } return 1; } }