10_line.t 775 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #!/usr/bin/perl
  2. use strict;
  3. use warnings;
  4. use Slic3r::XS;
  5. use Test::More tests => 6;
  6. my $points = [
  7. [100, 100],
  8. [200, 100],
  9. ];
  10. my $line = Slic3r::Line->new(@$points);
  11. is_deeply $line->pp, $points, 'line roundtrip';
  12. is ref($line->arrayref), 'ARRAY', 'line arrayref is unblessed';
  13. isa_ok $line->[0], 'Slic3r::Point', 'line point is blessed';
  14. {
  15. my $clone = $line->clone;
  16. $clone->reverse;
  17. is_deeply $clone->pp, [ reverse @$points ], 'reverse';
  18. }
  19. {
  20. my $line2 = Slic3r::Line->new($line->a->clone, $line->b->clone);
  21. is_deeply $line2->pp, $points, 'line roundtrip with cloned points';
  22. }
  23. {
  24. my $clone = $line->clone;
  25. $clone->translate(10, -5);
  26. is_deeply $clone->pp, [
  27. [110, 95],
  28. [210, 95],
  29. ], 'translate';
  30. }
  31. __END__