Algorithm-DistanceMatrix
view release on metacpan or search on metacpan
t/distancematrix.t view on Meta::CPAN
];
sub _test {
my ($mode, $expect, $metric) = @_;
my $dm = Algorithm::DistanceMatrix->new(
mode=>$mode, objects=>$objects, metric=>$metric);
my $distmat = $dm->distancematrix;
is(scalar @$distmat, scalar @$objects, 'matrix length');
is_deeply($distmat, $expect, "$mode");
return $distmat;
}
sub _metric {
return abs(length($_[0])-length($_[1]));
}
_test('lower',$expect_lower,sub{abs(length($_[0])-length($_[1]))});
_test('upper',$expect_upper,sub{abs(length($_[0])-length($_[1]))});
_test('full',$expect_full,sub{abs(length($_[0])-length($_[1]))});
# And test alternate callback syntax
my $result = _test('lower',$expect_lower,\&_metric);
# Feed matrix to Algorithm::Cluster::treecluster, if installed
SKIP: {
eval { require Algorithm::Cluster; };
skip "Algorithm::Cluster not intalled", 1 if $@;
( run in 0.511 second using v1.01-cache-2.11-cpan-65fba6d93b7 )