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 )