Skip to content

Commit 6d654f3

Browse files
committed
Add tests for derangements
1 parent 7a54fe5 commit 6d654f3

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

test/permutations.jl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,14 @@ end
6666
@test collect(multiset_permutations("", -1)) == Any[]
6767
@test length(multiset_permutations("aaaaaaaaaaaaaaaaaaaaab", 21)) == 22
6868

69+
# derangements
70+
@test collect(derangements(Int[])) == [[]]
71+
@test length(collect(derangements(1:4))) == 9
72+
@test length(collect(derangements(1:8))) == derangement(8) == 14833
73+
@test collect(derangements([1, 1, 2, 2])) == [[2, 2, 1, 1]]
74+
@test map(join, derangements("aabbc")) == ["bbaca", "bbcaa", "bcaab", "cbaab"]
75+
@test map(join, derangements("aaabbbc")) == ["bbbaaca", "bbbacaa", "bbbcaaa", "bbcaaab", "bcbaaab", "cbbaaab"]
76+
6977
#nthperm!
7078
for n = 0:7, k = 1:factorial(n)
7179
p = nthperm!([1:n;], k)

0 commit comments

Comments
 (0)