class TestCase::Object {
use TestCase::Minimal;
use TestCase::Simple;
use TestCase::Destructor;
use Fn;
has INT32_MAX : int;
has next : int;
static method isa_basic : int () {
my $minimal = TestCase::Minimal->new;
if ($minimal isa TestCase::Minimal) {
if (!($minimal isa TestCase)) {
return 1;
}
}
return 0;
}
static method destructor : int () {
my $minimal = TestCase::Minimal->new();
TestCase::Object->destructor_call($minimal);
if ($minimal->{x} == 3) {
return 1;
}
return 0;
}
static method destructor_call : int ($minimal: TestCase::Minimal) {
my $dest = TestCase::Destructor->new();
$dest->{minimal} = $minimal;
}
}