6 use Test::More tests => 2 * 8 * ((8 * 7) / 2);
8 use CPANPLUS::Dist::Gentoo::Atom;
10 sub A () { 'CPANPLUS::Dist::Gentoo::Atom' }
97 my ($a, $cmp, $b, $exp) = @_;
99 my $desc = join " $cmp ", map "'$_'", $a, $b;
104 $c = eval "\$a $cmp \$b";
108 if (ref $exp eq 'Regexp') {
109 like $err, $exp, "$desc should fail";
111 fail "$desc failed but shouldn't: $err";
113 is $c, $exp, "$desc == '$exp'";
118 my ($a, $b, $exp) = @$t;
126 compare_ok($a, '<=>', $b, $exp);
129 compare_ok($a, '<=>', $bs, $exp);
131 my $bv = $b->version;
133 compare_ok($a, '<=>', $bv, $exp);
134 compare_ok($a, '<=>', "$bv", $exp);
136 pass("$bs has no version part ($_)") for 1, 2;
139 compare_ok($a, 'cmp', $b, $exp);
141 my $bz = $b->qualified_name;
142 $bz .= "-$bv" if defined $bv;
143 compare_ok($a, 'cmp', $bz, $exp);
146 $bz .= "-$bv" if defined $bv;
147 compare_ok($a, 'cmp', $bz, -1);
148 compare_ok($bz, 'cmp', $b, 1);