Skip to content

Commit f9dabb2

Browse files
committed
test cases for apply methods
1 parent 9713e3a commit f9dabb2

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

src/test/java/org/cicirello/permutations/PermutationTestCases.java

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,35 @@ public class PermutationTestCases {
4343
// that use a source of randomness that is seedable.
4444
private static final boolean disableChiSquareTests = true;
4545

46+
@Test
47+
public void testUnaryOperator() {
48+
Permutation p = new Permutation(10);
49+
p.apply(perm -> { for (int i = 0; i < perm.length; i++) { perm[i] = i; }});
50+
for (int i = 0; i < 10; i++) {
51+
assertEquals(i, p.get(i));
52+
}
53+
p.apply(perm -> { for (int i = 0; i < perm.length; i++) { perm[perm.length-1-i] = i; }});
54+
for (int i = 0; i < 10; i++) {
55+
assertEquals(9-i, p.get(i));
56+
}
57+
}
58+
59+
@Test
60+
public void testBinaryOperator() {
61+
Permutation p1 = new Permutation(10);
62+
Permutation p2 = new Permutation(10);
63+
p1.apply((perm1, perm2) -> { for (int i = 0; i < perm1.length; i++) { perm1[i] = i; perm2[perm1.length-1-i] = i; }}, p2);
64+
for (int i = 0; i < 10; i++) {
65+
assertEquals(i, p1.get(i));
66+
assertEquals(9-i, p2.get(i));
67+
}
68+
p1.apply((perm1, perm2) -> { for (int i = 0; i < perm1.length; i++) { perm2[i] = i; perm1[perm1.length-1-i] = i; }}, p2);
69+
for (int i = 0; i < 10; i++) {
70+
assertEquals(i, p2.get(i));
71+
assertEquals(9-i, p1.get(i));
72+
}
73+
}
74+
4675
@Test
4776
public void testZeroLengthPermutations() {
4877
// different ways of constructing 0 length permutations.

0 commit comments

Comments
 (0)