mirror of
https://github.com/dlang/phobos.git
synced 2025-05-07 03:27:03 +03:00
Showcase precise ordering of output.
This commit is contained in:
parent
bcdb07d1c2
commit
96ae34ea53
1 changed files with 22 additions and 40 deletions
|
@ -11272,26 +11272,17 @@ auto B = [ 'a', 'b', 'c' ];
|
||||||
auto C = [ "x", "y", "z" ];
|
auto C = [ "x", "y", "z" ];
|
||||||
auto ABC = cartesianProduct(A, B, C);
|
auto ABC = cartesianProduct(A, B, C);
|
||||||
|
|
||||||
auto expected = [
|
assert(ABC.equal([
|
||||||
tuple(1, 'a', "x"), tuple(1, 'a', "y"), tuple(1, 'a', "z"),
|
tuple(1, 'a', "x"), tuple(2, 'a', "x"), tuple(3, 'a', "x"),
|
||||||
tuple(1, 'b', "x"), tuple(1, 'b', "y"), tuple(1, 'b', "z"),
|
tuple(1, 'b', "x"), tuple(2, 'b', "x"), tuple(3, 'b', "x"),
|
||||||
tuple(1, 'c', "x"), tuple(1, 'c', "y"), tuple(1, 'c', "z"),
|
tuple(1, 'c', "x"), tuple(2, 'c', "x"), tuple(3, 'c', "x"),
|
||||||
tuple(2, 'a', "x"), tuple(2, 'a', "y"), tuple(2, 'a', "z"),
|
tuple(1, 'a', "y"), tuple(2, 'a', "y"), tuple(3, 'a', "y"),
|
||||||
tuple(2, 'b', "x"), tuple(2, 'b', "y"), tuple(2, 'b', "z"),
|
tuple(1, 'b', "y"), tuple(2, 'b', "y"), tuple(3, 'b', "y"),
|
||||||
tuple(2, 'c', "x"), tuple(2, 'c', "y"), tuple(2, 'c', "z"),
|
tuple(1, 'c', "y"), tuple(2, 'c', "y"), tuple(3, 'c', "y"),
|
||||||
tuple(3, 'a', "x"), tuple(3, 'a', "y"), tuple(3, 'a', "z"),
|
tuple(1, 'a', "z"), tuple(2, 'a', "z"), tuple(3, 'a', "z"),
|
||||||
tuple(3, 'b', "x"), tuple(3, 'b', "y"), tuple(3, 'b', "z"),
|
tuple(1, 'b', "z"), tuple(2, 'b', "z"), tuple(3, 'b', "z"),
|
||||||
tuple(3, 'c', "x"), tuple(3, 'c', "y"), tuple(3, 'c', "z")
|
tuple(1, 'c', "z"), tuple(2, 'c', "z"), tuple(3, 'c', "z")
|
||||||
];
|
]));
|
||||||
|
|
||||||
foreach (e; expected)
|
|
||||||
{
|
|
||||||
assert(canFind(ABC, e));
|
|
||||||
}
|
|
||||||
foreach (abc; ABC)
|
|
||||||
{
|
|
||||||
assert(canFind(expected, abc));
|
|
||||||
}
|
|
||||||
---
|
---
|
||||||
*/
|
*/
|
||||||
auto cartesianProduct(R1, R2)(R1 range1, R2 range2)
|
auto cartesianProduct(R1, R2)(R1 range1, R2 range2)
|
||||||
|
@ -11548,24 +11539,15 @@ unittest
|
||||||
auto C = [ "x", "y", "z" ];
|
auto C = [ "x", "y", "z" ];
|
||||||
auto ABC = cartesianProduct(A, B, C);
|
auto ABC = cartesianProduct(A, B, C);
|
||||||
|
|
||||||
auto expected = [
|
assert(ABC.equal([
|
||||||
tuple(1, 'a', "x"), tuple(1, 'a', "y"), tuple(1, 'a', "z"),
|
tuple(1, 'a', "x"), tuple(2, 'a', "x"), tuple(3, 'a', "x"),
|
||||||
tuple(1, 'b', "x"), tuple(1, 'b', "y"), tuple(1, 'b', "z"),
|
tuple(1, 'b', "x"), tuple(2, 'b', "x"), tuple(3, 'b', "x"),
|
||||||
tuple(1, 'c', "x"), tuple(1, 'c', "y"), tuple(1, 'c', "z"),
|
tuple(1, 'c', "x"), tuple(2, 'c', "x"), tuple(3, 'c', "x"),
|
||||||
tuple(2, 'a', "x"), tuple(2, 'a', "y"), tuple(2, 'a', "z"),
|
tuple(1, 'a', "y"), tuple(2, 'a', "y"), tuple(3, 'a', "y"),
|
||||||
tuple(2, 'b', "x"), tuple(2, 'b', "y"), tuple(2, 'b', "z"),
|
tuple(1, 'b', "y"), tuple(2, 'b', "y"), tuple(3, 'b', "y"),
|
||||||
tuple(2, 'c', "x"), tuple(2, 'c', "y"), tuple(2, 'c', "z"),
|
tuple(1, 'c', "y"), tuple(2, 'c', "y"), tuple(3, 'c', "y"),
|
||||||
tuple(3, 'a', "x"), tuple(3, 'a', "y"), tuple(3, 'a', "z"),
|
tuple(1, 'a', "z"), tuple(2, 'a', "z"), tuple(3, 'a', "z"),
|
||||||
tuple(3, 'b', "x"), tuple(3, 'b', "y"), tuple(3, 'b', "z"),
|
tuple(1, 'b', "z"), tuple(2, 'b', "z"), tuple(3, 'b', "z"),
|
||||||
tuple(3, 'c', "x"), tuple(3, 'c', "y"), tuple(3, 'c', "z")
|
tuple(1, 'c', "z"), tuple(2, 'c', "z"), tuple(3, 'c', "z"),
|
||||||
];
|
]));
|
||||||
|
|
||||||
foreach (e; expected)
|
|
||||||
{
|
|
||||||
assert(canFind(ABC, e));
|
|
||||||
}
|
|
||||||
foreach (abc; ABC)
|
|
||||||
{
|
|
||||||
assert(canFind(expected, abc));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue