initial commit
[urisagit/Sort-Maker.git] / t / ref_in_varying.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 use vars qw( $a $b ) ;
10
11 my @sort_styles = qw( GRT ) ;
12
13 my $sort_tests = [
14
15         {
16                 skip    => 0,
17 #               source => 1,
18                 name    => 'ref_in varying - max length',
19                 data    => [ map {
20                                 { a => rand_token( 20, 30 ),
21                                   b => rand_token( 20, 30 ), }
22                         } 1 .. 5
23                 ],
24                 gold    => sub { $a->{a} cmp $b->{a} ||
25                                  $a->{b} cmp $b->{b} },
26                 args    => {
27                         ref_in => [
28                              qw( string $_->{a} string $_->{b} ref_in varying )
29                         ],
30                 },
31         },
32         {
33                 skip    => 0,
34                 name    => 'ref_in varying descending - max length',
35                 data    => [ map {
36                                 { a => rand_token( 20, 30 ),
37                                   b => rand_token( 20, 30 ), }
38                         } 1 .. 5
39                 ],
40                 gold    => sub { $b->{a} cmp $a->{a} ||
41                                  $b->{b} cmp $a->{b} },
42                 args    => {
43                         ref_in => [
44                              qw( string $_->{a} string $_->{b} ref_in
45                 varying descending )
46                         ],
47                 },
48         },
49 ] ;
50
51 our $bench ;
52
53 if ( $bench ) {
54         benchmark_driver( $sort_tests, \@sort_styles ) ;
55 }
56 else {
57         test_driver( $sort_tests, \@sort_styles ) ;
58 }
59
60 exit ;