public void TestGetPermutation() { int[] factors = PermutationEnumerator.GetFactors(4); int[] result = PermutationEnumerator.GetPermutation(4, 21, factors); Log.Debug(".testGetPermutation result=" + result.RenderAny()); Assert.IsTrue(Arrays.AreEqual(result, new[] { 3, 1, 2, 0 })); }
public void TestGetFactors() { int[] factors = PermutationEnumerator.GetFactors(5); Assert.IsTrue(Arrays.AreEqual(factors, new[] { 24, 6, 2, 1, 0 })); factors = PermutationEnumerator.GetFactors(4); Assert.IsTrue(Arrays.AreEqual(factors, new[] { 6, 2, 1, 0 })); factors = PermutationEnumerator.GetFactors(3); Assert.IsTrue(Arrays.AreEqual(factors, new[] { 2, 1, 0 })); factors = PermutationEnumerator.GetFactors(2); Assert.IsTrue(Arrays.AreEqual(factors, new[] { 1, 0 })); factors = PermutationEnumerator.GetFactors(1); Assert.IsTrue(Arrays.AreEqual(factors, new[] { 0 })); //Log.debug(".testGetFactors " + Arrays.toString(factors)); }