package TestCase::Interface {
use TestCase::Minimal;
use TestCase::Interface::Interface;
use TestCase::Interface::ImplementInterface1;
use TestCase::Interface::ImplementInterface2;
sub basic : int () {
my $object : Object = new TestCase::Minimal;
my $implement_interface1 : TestCase::Interface::Interface = new TestCase::Interface::ImplementInterface1;
my $implement_interface2 : TestCase::Interface::Interface = new TestCase::Interface::ImplementInterface2;
my $num1 = $implement_interface1->foo(0, 0);
my $num2 = $implement_interface2->foo(0, 0);
my $minimal = (TestCase::Minimal)$object;
$minimal->{x} = 4;
if ($num1 == 1) {
if ($num2 == 2) {
if ($minimal->{x} == 4) {
return 1;
}
}
}
}
}