#!perl use strict; use warnings; use Test::More; use lib 'lib'; use Permute; { my @a2 = ( 3, 44 ); my $possibilities = Permute::possibilities ( \@a2 ); ok ( defined $possibilities, "Got result back" ); is ( scalar @{$possibilities}, 2, "Have just two rows" ); my %correct = ( '3:44' => 1, '44:3' => 1 ); my %results; foreach my $soln ( @{$possibilities} ) { $results{ join(':',@{$soln}) }++; } foreach my $try ( keys %results ) { ok ( exists $correct{ $try }, "Result $try exists" ); is ( $correct{ $try }, $results{ $try }, "Result count matches" ); } done_testing; }