1 #!/usr/local/bin/perl -sw
9 my @sort_styles = qw( GRT ) ;
15 name => 'simple string',
16 data => [ qw( z e a k ) ],
17 gold => sub { $a cmp $b },
18 args => [ qw( string ) ],
22 name => 'unsigned integer',
23 data => [ 32, 2, 9, 7 ],
24 gold => sub { $a <=> $b },
25 args => [ qw( unsigned number ) ],
29 name => 'unsigned integer descending',
30 data => [ 32, 2, 9, 7 ],
31 gold => sub { $b <=> $a },
32 args => [ qw( unsigned number descending ) ],
36 name => 'signed integer',
37 data => [ 32, -2, 9, -7 ],
38 gold => sub { $a <=> $b },
39 args => [ qw( signed number ) ],
43 name => 'signed integer descending',
44 data => [ 32, -2, 9, -7 ],
45 gold => sub { $b <=> $a },
46 args => [ qw( signed number descending ) ],
50 name => 'unsigned float',
51 data => [ 32, 2, 9, 7 ],
52 gold => sub { $a <=> $b },
53 args => [ qw( unsigned_float number ) ],
57 name => 'unsigned float descending',
58 data => [ 32, 2, 9, 7.0, 7.1 ],
59 gold => sub { $b <=> $a },
60 args => [ qw( unsigned_float number descending ) ],
64 name => 'signed float',
65 data => [ 32, -2, 9, -7 ],
66 gold => sub { $a <=> $b },
67 args => [ qw( signed_float number ) ],
71 name => 'signed float descending',
72 data => [ 32, -2, 9, -7.0, -7.1 ],
73 gold => sub { $b <=> $a },
74 args => [ qw( signed_float number descending ) ],
78 name => 'plain string',
79 data => [ qw( bdhd BDhd wxj ayewwq rjjx ) ],
80 gold => sub { $a cmp $b },
81 args => [ qw( string ) ],
85 name => 'plain string no_case',
86 data => [ qw( bdhd BDhd wxj ayewwq rjjx ) ],
87 gold => sub { uc $a cmp uc $b },
88 args => [ qw( no_case string ) ],
92 name => 'fixed string',
93 data => [ qw( bdhd BDhd wxj ayewwq rjjx ), "w\0j" ],
94 gold => sub { $a cmp $b },
95 args => [ qw( string fixed 6 ) ],
99 name => 'string no_case fixed',
100 data => [ qw( bdhd BDhd wxj ayewwq rjjx ), "w\0j" ],
101 gold => sub { uc $a cmp uc $b },
102 args => [ qw( string no_case fixed 6 ) ],
106 name => 'string descending fixed',
107 data => [ qw( bdhd BDhd wxj ayewwq rjjx ), "w\0j" ],
108 gold => sub { $b cmp $a },
109 args => [ qw( string descending fixed 6 ) ],
113 name => 'string no_case descending fixed',
114 data => [ qw( bdhd BDhd wxj ayewwq rjjx ), "w\0j" ],
115 gold => sub { uc $b cmp uc $a },
116 args => [ qw( string no_case descending fixed 6 ) ],
121 name => 'varying string',
122 data => [ qw( bdhd BDhd wxj ayewwq rjjx ), "w\0j" ],
123 gold => sub { $a cmp $b },
124 args => [ qw( string varying ) ],
128 name => 'string no_case varying',
129 data => [ qw( bdhd BDhd wxj ayewwq rjjx ), "w\0j" ],
130 gold => sub { uc $a cmp uc $b },
131 args => [ qw( string no_case varying ) ],
135 name => 'string descending varying',
136 data => [ qw( bdhd BDhd wxj ayewwq rjjx ), "w\0j" ],
137 gold => sub { $b cmp $a },
138 args => [ qw( string descending varying ) ],
142 name => 'string no_case descending varying',
143 data => [ qw( bdhd BDhd wxj ayewwq rjjx ), "w\0j" ],
144 gold => sub { uc $b cmp uc $a },
145 args => [ qw( string no_case descending varying ) ],
149 common_driver( $sort_tests, \@sort_styles ) ;