Algorithm-TravelingSalesman-BitonicTour
view release on metacpan or search on metacpan
dist_version_from => 'lib/Algorithm/TravelingSalesman/BitonicTour.pm',
requires => {
'perl' => 5.006_000,
'Carp' => 0,
'Class::Accessor::Fast' => 0,
'List::Util' => 0,
'Params::Validate' => 0,
'Regexp::Common' => 0,
},
build_requires => {
'Data::Dumper' => 0,
'Pod::Coverage' => 0,
'Readonly' => 0,
'Test::Exception' => 0,
'Test::More' => 0,
'Test::Pod' => 0,
'Test::Pod::Coverage' => 0,
},
add_to_cleanup => ['Algorithm-*','*.bak'],
);
resources:
license: http://dev.perl.org/licenses/
requires:
Carp: 0
Class::Accessor::Fast: 0
List::Util: 0
Params::Validate: 0
Regexp::Common: 0
perl: 5.006
build_requires:
Data::Dumper: 0
Pod::Coverage: 0
Readonly: 0
Test::Exception: 0
Test::More: 0
Test::Pod: 0
Test::Pod::Coverage: 0
provides:
Algorithm::TravelingSalesman::BitonicTour:
file: lib/Algorithm/TravelingSalesman/BitonicTour.pm
version: 0.05
t/02-optimal-tours.t view on Meta::CPAN
use strict;
use warnings;
use Data::Dumper;
use Test::More 'no_plan';
use Test::Exception;
local $Data::Dumper::Sortkeys = 1;
use Algorithm::TravelingSalesman::BitonicTour;
# set up a problem and do some basic sanity checking
my $b = Algorithm::TravelingSalesman::BitonicTour->new;
$b->add_point(0,0);
$b->add_point(1,1);
$b->add_point(2,1);
$b->add_point(3,0);
is($b->N, 4);
t/10-solve-0.t view on Meta::CPAN
use strict;
use warnings;
use Algorithm::TravelingSalesman::BitonicTour;
use Data::Dumper;
use Test::More 'no_plan';
use Test::Exception;
use_ok('Algorithm::TravelingSalesman::BitonicTour');
# make sure an attempt to solve a problem with no points dies
{
my $b = Algorithm::TravelingSalesman::BitonicTour->new;
throws_ok { $b->solve } qr/need to add some points/,
'bad problem throws exception';
t/11-solve-1.t view on Meta::CPAN
use strict;
use warnings;
use Algorithm::TravelingSalesman::BitonicTour;
use Data::Dumper;
use Test::More 'no_plan';
use Test::Exception;
use_ok('Algorithm::TravelingSalesman::BitonicTour');
# make sure a problem with exactly one point "works"
for (1 .. 10) {
my $b = Algorithm::TravelingSalesman::BitonicTour->new;
my ($x, $y) = map { 10 - rand(20) } 1, 2;
$b->add_point($x,$y);
t/12-solve-2.t view on Meta::CPAN
use strict;
use warnings;
use Algorithm::TravelingSalesman::BitonicTour;
use Data::Dumper;
use Test::More 'no_plan';
use Test::Exception;
use_ok('Algorithm::TravelingSalesman::BitonicTour');
# make sure a problem with exactly two points "works"
for my $i (1 .. 10) {
my @points = map {
my $x = $_ * (5 + rand(10));
t/13-solve-4.t view on Meta::CPAN
use strict;
use warnings;
use Algorithm::TravelingSalesman::BitonicTour;
use Data::Dumper;
use Test::More 'no_plan';
use Test::Exception;
use_ok('Algorithm::TravelingSalesman::BitonicTour');
# solve a real problem (simple trapezoid)
{
my $b = Algorithm::TravelingSalesman::BitonicTour->new;
$b->add_point(0,0);
$b->add_point(1,1);
t/14-solve-N.t view on Meta::CPAN
use strict;
use warnings;
use Algorithm::TravelingSalesman::BitonicTour;
use Data::Dumper;
use Test::More 'no_plan';
use Test::Exception;
use Readonly;
Readonly::Scalar my $pi => 3.14159; # duh
Readonly::Scalar my $N => 201; # number of points
use_ok('Algorithm::TravelingSalesman::BitonicTour');
# Solve a problem consisting of some large number of points evenly spaced along
( run in 0.254 second using v1.01-cache-2.11-cpan-4d50c553e7e )