File: 15distance.t

package info (click to toggle)
libmath-polygon-perl 1.11-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 256 kB
  • sloc: perl: 1,598; makefile: 2
file content (37 lines) | stat: -rw-r--r-- 982 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/env perl
# Distance from point to closest point on polygon

use strict;
use warnings;

use Test::More tests => 15;

use lib '../lib';
use Math::Polygon::Calc;

my @p = ([1,1], [3,1], [3,3], [1,3], [1,1]);

is( polygon_distance([1,1], @p), 0);
is( polygon_distance([1,0], @p), 1);
is( polygon_distance([0,1], @p), 1);
is( polygon_distance([2,0], @p), 1);
is( polygon_distance([2,2], @p), 1);
is( polygon_distance([0,2], @p), 1);
is( polygon_distance([3,0], @p), 1);
is( polygon_distance([0,3], @p), 1);
is( polygon_distance([0,0], @p), polygon_distance([4,4], @p));
is( polygon_distance([4,0], @p), polygon_distance([0,4], @p));

@p = ([6,2],[7,1],[8,2],[7,3],[6,2]);

is( polygon_distance([5,1], @p), polygon_distance([5,3], @p));
is( polygon_distance([6,0], @p), polygon_distance([6,4], @p));
is( polygon_distance([7,2], @p), polygon_distance([8,3], @p));

# single points

is( polygon_distance([1,1], [4,5]), 5 );

# empty poly

ok( !defined polygon_distance([1,1]) );