Image-Synchronize
view release on metacpan or search on metacpan
t/Image-Synchronize-GpsPositionCollection.t view on Meta::CPAN
#!/usr/bin/perl -w
use Modern::Perl;
use Image::Synchronize::GpsPositionCollection;
use Test::More;
use YAML::Any qw(Dump);
my @data = ( 3, 7, 9, 14, 33, 51, 78, 79, 85 );
sub get {
return $data[ $_[0] ];
}
sub search {
Image::Synchronize::GpsPositionCollection::search(@_);
}
is_deeply(
[ map { search( $data[$_], scalar(@data), \&get ) } 0 .. $#data ],
[ 0 .. $#data ],
'find exact (odd count)'
);
is_deeply(
[ map { search( $data[$_] - 1, scalar(@data), \&get ) } 0 .. $#data ],
[ -1, 0, 1, 2, 3, 4, 5, 6, 7 ],
'find one less (odd count)'
);
is_deeply(
[ map { search( $data[$_] + 1, scalar(@data), \&get ) } 0 .. $#data ],
[ 0, 1, 2, 3, 4, 5, 7, 7, 8 ],
'find one more (odd count)'
);
pop @data;
is_deeply(
[ map { search( $data[$_], scalar(@data), \&get ) } 0 .. $#data ],
[ 0 .. $#data ],
'find exact (even count)'
);
is_deeply(
[ map { search( $data[$_] - 1, scalar(@data), \&get ) } 0 .. $#data ],
[ -1, 0, 1, 2, 3, 4, 5, 6 ],
'find one less (even count)'
);
is_deeply(
[ map { search( $data[$_] + 1, scalar(@data), \&get ) } 0 .. $#data ],
[ 0, 1, 2, 3, 4, 5, 7, 7 ],
'find one more (even count)'
);
my $gpc = Image::Synchronize::GpsPositionCollection->new;
$gpc->add( 1000000, 1, 2, 3, 'x', 'foo' );
is_deeply( [ $gpc->ids_for_track ], ['x'], 'track IDs 1' );
is_deeply(
$gpc->points_for_track('x'),
[ [ 1000000, 1, 2, 3 ] ],
( run in 1.208 second using v1.01-cache-2.11-cpan-75ffa21a3d4 )