public void HasNextTest() { int size = 4; Permutor permutor = new Permutor(size); Assert.IsTrue(permutor.HasNext()); }
public void CountGeneratedPermutations() { int size = 4; Permutor permutor = new Permutor(size); int count = 1; // the identity permutation is not generated while (permutor.HasNext()) { permutor.GetNextPermutation(); count++; } Assert.AreEqual(Factorial(size), count); }
public void GetCurrentPermutationTest() { int size = 4; Permutor permutor = new Permutor(size); bool allOk = true; while (permutor.HasNext()) { permutor.GetNextPermutation(); int[] current = permutor.GetCurrentPermutation(); if (ArrayElementsDistinct(current)) { continue; } else { allOk = false; break; } } Assert.IsTrue(allOk); }