initial commit
[urisagit/Sort-Maker.git] / t / io.t
1 #!/usr/local/bin/perl -sw
2
3 use strict ;
4
5 use lib 't' ;
6 use lib '..' ;
7 require 'common.pm' ;
8
9 my @sort_styles = qw( plain orcish ST GRT ) ;
10
11 my $sort_tests = [
12
13         {
14                 skip    => 0,
15                 name    => 'simple string',
16                 data    => [ qw( z e a k ) ],
17                 gold    => sub { $a cmp $b },
18                 sizes   => [ 100, 1000 ],
19 #               sizes   => [ 5000 ],
20                 gen     => sub { rand_token() },
21                 args    => {
22                         default => [ qw( string ) ],
23                         ref_in  => [ qw( ref_in string ) ],
24                         ref_out => [ qw( ref_out string ) ],
25                         ref_in_ref_out  => [ qw( ref_in ref_out string ) ],
26                 },
27         },
28         {
29                 skip    => 0,
30                 name    => 'simple number',
31                 data    => [ 32, 2, 9, 7 ],
32                 gold    => sub { $a <=> $b },
33                 sizes   => [ 100, 1000 ],
34                 gen     => sub { rand_number( 10 ) },
35                 args    => {
36                         default => [ qw( number ) ],
37                         ref_in  => [ qw( ref_in number ) ],
38                         ref_out => [ qw( ref_out number ) ],
39                         ref_in_ref_out  => [ qw( ref_in ref_out number ) ],
40                 },
41         },
42 ] ;
43
44 our $bench ;
45
46 if ( $bench ) {
47         benchmark_driver( $sort_tests, \@sort_styles ) ;
48 }
49 else {
50         test_driver( $sort_tests, \@sort_styles ) ;
51 }
52
53 exit ;