Sort-Naturally
view release on metacpan or search on metacpan
t/01_old_junk.t view on Meta::CPAN
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl test.pl'
# Time-stamp: "2004-12-29 18:29:18 AST"
use strict;
use Test;
# use a BEGIN block so we print our plan before MyModule is loaded
BEGIN { plan tests => 21 }
ok(1);
#sub Sort::Naturally::DEBUG () {0}
use Sort::Naturally;
print "# Perl v$], Sort::Naturally v$Sort::Naturally::VERSION\n#\n";
sub shuffle {
my @out;
while(@_) { push @out, splice @_, rand(@_), 1 };
return @out
}
my $ok1 = '9x 14 foo fooa foolio Foolio foo12 foo12a Foo12a foo12z foo13a';
my $ok2 = '9x 14 foo fooa Foolio foolio foo12 Foo12a foo12a foo12z foo13a';
for(1 .. 10 ){
my @x = shuffle
qw(
foo12a foo12z foo13a foo 14 9x foo12 fooa foolio Foolio Foo12a
)
;
print "#\n# In: <@x>\n";
print "# nsort ...\n";
my @y = nsort(map $_, @x);
print "# ncmp ...\n";
my @z = sort {&ncmp($a,$b)}
# map $_,
@x
;
#print "OK, <@x> => <@y>\n";
print(
"@y" eq "@z"
? scalar(ok(1), "# Good, eq") : scalar(ok(0), "# Feh, NE!\n< <@x>"),
"\n# <@y>\n# :<@z>\n"
);
if("@y" eq $ok1) {
ok 1;
print "# sorts happily as ok1 <$ok1>\n";
} elsif("@y" eq $ok2) {
ok 1;
print "# sorts happily as ok2 <$ok2>\n";
} else {
ok 0;
print "# sorts unhappily, not as <$ok1> nor as <$ok2>\n";
}
}
( run in 2.519 seconds using v1.01-cache-2.11-cpan-56fb94df46f )