Skip to content

Commit

Permalink
explicitly sort otherwise unordered results
Browse files Browse the repository at this point in the history
  • Loading branch information
FROGGS committed May 22, 2014
1 parent cafda9b commit efa39c5
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 25 deletions.
11 changes: 6 additions & 5 deletions S02-types/bag.t
Expand Up @@ -401,13 +401,14 @@ sub showkv($x) {
is +$b1, 10, '+$bag gives sum of values (non-empty 10)';
is $b1.minpairs, [a=>1], '.minpairs works (non-empty 10)';
is $b1.maxpairs, [d=>4], '.maxpairs works (non-empty 10)';
is $b1.fmt('foo %s'), "foo a\nfoo b\nfoo c\nfoo d",
# Bag is unordered according to S02:1476
is $b1.fmt('foo %s').split("\n").sort, ('foo a', 'foo b', 'foo c', 'foo d'),
'.fmt(%s) works (non-empty 10)';
is $b1.fmt('%s',','), "a,b,c,d",
is $b1.fmt('%s',',').split(',').sort, <a b c d>,
'.fmt(%s,sep) works (non-empty 10)';
is $b1.fmt('%s foo %s'), "a foo 1\nb foo 2\nc foo 3\nd foo 4",
is $b1.fmt('%s foo %s').split("\n").sort, ('a foo 1', 'b foo 2', 'c foo 3', 'd foo 4'),
'.fmt(%s%s) works (non-empty 10)';
is $b1.fmt('%s,%s',':'), "a,1:b,2:c,3:d,4",
is $b1.fmt('%s,%s',':').split(':').sort, <a,1 b,2 c,3 d,4>,
'.fmt(%s%s,sep) works (non-empty 10)';

my $b2 = <a b c c c d d d>.Bag;
Expand All @@ -416,7 +417,7 @@ sub showkv($x) {
is $b2.minpairs.sort, [a=>1, b=>1], '.minpairs works (non-empty 8)';
is $b2.maxpairs.sort, [c=>3, d=>3], '.maxpairs works (non-empty 8)';

my $b2 = <a b c d>.Bag;
$b2 = <a b c d>.Bag;
is $b2.total, 4, '.total gives sum of values (non-empty 4)';
is +$b2, 4, '+$bag gives sum of values (non-empty 4)';
is $b2.minpairs.sort,[a=>1,b=>1,c=>1,d=>1], '.minpairs works (non-empty 4)';
Expand Down
8 changes: 4 additions & 4 deletions S02-types/baghash.t
Expand Up @@ -532,13 +532,13 @@ sub showkv($x) {
is +$b1, 10, '+$bag gives sum of values (non-empty) 10';
is $b1.minpairs, [a=>1], '.minpairs works (non-empty) 10';
is $b1.maxpairs, [d=>4], '.maxpairs works (non-empty) 10';
is $b1.fmt('foo %s'), "foo a\nfoo b\nfoo c\nfoo d",
is $b1.fmt('foo %s').split("\n").sort, ('foo a', 'foo b', 'foo c', 'foo d'),
'.fmt(%s) works (non-empty 10)';
is $b1.fmt('%s',','), "a,b,c,d",
is $b1.fmt('%s',',').split(',').sort, <a b c d>,
'.fmt(%s,sep) works (non-empty 10)';
is $b1.fmt('%s foo %s'), "a foo 1\nb foo 2\nc foo 3\nd foo 4",
is $b1.fmt('%s foo %s').split("\n").sort, ('a foo 1', 'b foo 2', 'c foo 3', 'd foo 4'),
'.fmt(%s%s) works (non-empty 10)';
is $b1.fmt('%s,%s',':'), "a,1:b,2:c,3:d,4",
is $b1.fmt('%s,%s',':').split(':').sort, <a,1 b,2 c,3 d,4>,
'.fmt(%s%s,sep) works (non-empty 10)';

my $b2 = <a b c c c d d d>.BagHash;
Expand Down
8 changes: 4 additions & 4 deletions S02-types/mix.t
Expand Up @@ -358,13 +358,13 @@ sub showkv($x) {
is +$m1, 11, '+$set gives sum of values (non-empty) 11';
is $m1.minpairs, [a=>1.1], '.minpairs works (non-empty) 11';
is $m1.maxpairs, [d=>4.4], '.maxpairs works (non-empty) 11';
is $m1.fmt('foo %s'), "foo a\nfoo b\nfoo c\nfoo d",
is $m1.fmt('foo %s').split("\n").sort, ('foo a', 'foo b', 'foo c', 'foo d'),
'.fmt(%s) works (non-empty 11)';
is $m1.fmt('%s',','), "a,b,c,d",
is $m1.fmt('%s',',').split(',').sort, <a b c d>,
'.fmt(%s,sep) works (non-empty 11)';
is $m1.fmt('%s foo %s'), "a foo 1.1\nb foo 2.2\nc foo 3.3\nd foo 4.4",
is $m1.fmt('%s foo %s').split("\n").sort, ('a foo 1.1', 'b foo 2.2', 'c foo 3.3', 'd foo 4.4'),
'.fmt(%s%s) works (non-empty 11)';
is $m1.fmt('%s,%s',':'), "a,1.1:b,2.2:c,3.3:d,4.4",
is $m1.fmt('%s,%s',':').split(':').sort, <a,1.1 b,2.2 c,3.3 d,4.4>,
'.fmt(%s%s,sep) works (non-empty 11)';

my $m2 = (a => 1.1, b => 1.1, c => 3.3, d => 3.3).Mix;
Expand Down
8 changes: 4 additions & 4 deletions S02-types/mixhash.t
Expand Up @@ -446,13 +446,13 @@ sub showkv($x) {
is +$m1, 11, '+$mix gives sum of values (non-empty) 11';
is $m1.minpairs, [a=>1.1], '.minpairs works (non-empty) 11';
is $m1.maxpairs, [d=>4.4], '.maxpairs works (non-empty) 11';
is $m1.fmt('foo %s'), "foo a\nfoo b\nfoo c\nfoo d",
is $m1.fmt('foo %s').split("\n").sort, ('foo a', 'foo b', 'foo c', 'foo d'),
'.fmt(%s) works (non-empty 11)';
is $m1.fmt('%s',','), "a,b,c,d",
is $m1.fmt('%s',',').split(',').sort, <a b c d>,
'.fmt(%s,sep) works (non-empty 11)';
is $m1.fmt('%s foo %s'), "a foo 1.1\nb foo 2.2\nc foo 3.3\nd foo 4.4",
is $m1.fmt('%s foo %s').split("\n").sort, ('a foo 1.1', 'b foo 2.2', 'c foo 3.3', 'd foo 4.4'),
'.fmt(%s%s) works (non-empty 11)';
is $m1.fmt('%s,%s',':'), "a,1.1:b,2.2:c,3.3:d,4.4",
is $m1.fmt('%s,%s',':').split(':').sort, <a,1.1 b,2.2 c,3.3 d,4.4>,
'.fmt(%s%s,sep) works (non-empty 11)';

my $m2 = (a => 1.1, b => 1.1, c => 3.3, d => 3.3).MixHash;
Expand Down
8 changes: 4 additions & 4 deletions S02-types/set.t
Expand Up @@ -351,13 +351,13 @@ dies_ok { set(1, 2) «+» set(3, 4) }, 'Set «+» Set is illegal';
is +$s, 4, '+$set gives sum of values (non-empty)';
is $s.minpairs.sort,[a=>True,b=>True,c=>True,d=>True], '.minpairs works (non-empty)';
is $s.maxpairs.sort,[a=>True,b=>True,c=>True,d=>True], '.maxpairs works (non-empty)';
is $s.fmt('foo %s'), "foo a\nfoo b\nfoo c\nfoo d",
is $s.fmt('foo %s').split("\n").sort, ('foo a', 'foo b', 'foo c', 'foo d'),
'.fmt(%s) works (non-empty)';
is $s.fmt('%s',','), "a,b,c,d",
is $s.fmt('%s',',').split(',').sort, <a b c d>,
'.fmt(%s,sep) works (non-empty)';
is $s.fmt('%s foo %s'), "a foo True\nb foo True\nc foo True\nd foo True",
is $s.fmt('%s foo %s').split("\n").sort, ('a foo True', 'b foo True', 'c foo True', 'd foo True'),
'.fmt(%s%s) works (non-empty)';
is $s.fmt('%s,%s',':'), "a,True:b,True:c,True:d,True",
is $s.fmt('%s,%s',':').split(':').sort, <a,True b,True c,True d,True>,
'.fmt(%s%s,sep) works (non-empty)';

my $e = ().Set;
Expand Down
8 changes: 4 additions & 4 deletions S02-types/sethash.t
Expand Up @@ -416,13 +416,13 @@ sub showset($s) { $s.keys.sort.join(' ') }
is +$s, 4, '+$set gives sum of values (non-empty)';
is $s.minpairs.sort, [a=>True,b=>True,c=>True,d=>True], '.minpairs works (non-empty)';
is $s.maxpairs.sort, [a=>True,b=>True,c=>True,d=>True], '.maxpairs works (non-empty)';
is $s.fmt('foo %s'), "foo a\nfoo b\nfoo c\nfoo d",
is $s.fmt('foo %s').split("\n").sort, ('foo a', 'foo b', 'foo c', 'foo d'),
'.fmt(%s) works (non-empty)';
is $s.fmt('%s',','), "a,b,c,d",
is $s.fmt('%s',',').split(',').sort, <a b c d>,
'.fmt(%s,sep) works (non-empty)';
is $s.fmt('%s foo %s'), "a foo True\nb foo True\nc foo True\nd foo True",
is $s.fmt('%s foo %s').split("\n").sort, ('a foo True', 'b foo True', 'c foo True', 'd foo True'),
'.fmt(%s%s) works (non-empty)';
is $s.fmt('%s,%s',':'), "a,True:b,True:c,True:d,True",
is $s.fmt('%s,%s',':').split(':').sort, <a,True b,True c,True d,True>,
'.fmt(%s%s,sep) works (non-empty)';

my $e = ().SetHash;
Expand Down

0 comments on commit efa39c5

Please sign in to comment.