1use Test::More tests => 9; 2 3BEGIN { 4 use_ok('Geometry::Primitive::Point'); 5 use_ok('Geometry::Primitive::Polygon'); 6}; 7 8my $poly = Geometry::Primitive::Polygon->new; 9my $point1 = Geometry::Primitive::Point->new(x => 0, y => 0); 10$poly->add_point($point1); 11my $point2 = Geometry::Primitive::Point->new(x => 0, y => 1); 12$poly->add_point($point2); 13my $point3 = Geometry::Primitive::Point->new(x => 1, y => 1); 14$poly->add_point($point3); 15my $point4 = Geometry::Primitive::Point->new(x => 1, y => 0); 16$poly->add_point($point4); 17my $point5 = Geometry::Primitive::Point->new(x => 0, y => 0); 18$poly->add_point($point5); 19 20cmp_ok($poly->point_count, '==', 5, 'point count'); 21ok($poly->get_point(0)->equal_to($point1), 'get point 1'); 22ok($poly->point_start->equal_to($point1), 'start point'); 23ok($poly->point_end->equal_to($point1), 'end point'); 24 25cmp_ok($poly->area, '==', 1, 'area'); 26 27$poly->scale(2); 28 29cmp_ok($poly->area, '==', 4, 'scaled area'); 30 31$poly->clear_points; 32cmp_ok($poly->point_count, '==', 0, 'cleared points'); 33