| Test |
Method name |
Duration |
Result |
| Returned arrays are defensive copies (immutability) |
defensiveCopies() |
0s |
passed |
| Invalid arguments throw IllegalArgumentException |
invalidArgs() |
0.001s |
passed |
| Iterator respects hasNext()/next() and throws on exhaustion |
iteratorContract() |
0s |
passed |
| Edge case k=n yields all n! permutations in lexicographic order (n=3) |
kEqualsN_fullPerms_n3() |
0.001s |
passed |
| Edge case k=0 yields one empty tuple |
kEqualsZero() |
0s |
passed |
| Small order check: n=3, k=2 in lexicographic order |
orderCheck_n3k2() |
0s |
passed |
| Generates all k-permutations of n without duplicates (n=5, k=3) |
uniqueNoDuplicates_n5k3() |
0.001s |
passed |