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 )