class TestCase::Point {
use Point;
static method basic : int () {
{
my $point = Point->new;
$point->set_x(1);
$point->set_y(2);
my $x = $point->x;
my $y = $point->y;
unless ($x == 1) {
return 0;
}
unless ($y == 2) {
return 0;
}
}
{
my $point = Point->new_xy(1, 2);
my $x = $point->x;
my $y = $point->y;
unless ($x == 1) {
return 0;
}
unless ($y == 2) {
return 0;
}
}
# Stringable
{
my $point = Point->new_xy(1, 2);
my $stringable = (Stringable)$point;
my $point_string = $stringable->to_string;
unless ($point_string eq "(1,2)") {
return 0;
}
}
# Cloneable
{
my $point = Point->new_xy(1, 2);
my $cloneable = (Cloneable)$point;
my $point_clone = (Point)$cloneable->cloneable_clone;
unless ($point_clone->x == $point->x && $point_clone->y == $point->y) {
return 0;
}
if ($point_clone == $point) {
return 0;
}
}
return 1;
}
}