public void CreateSimplePermutationsTest() { int[] hintData = new int[] { 2 }; var length = 4; /// [true, true, false, false] var expected1 = new BitArray(4, false); expected1.Set(0, true); expected1.Set(1, true); /// [false, true, true, false] var expected2 = new BitArray(4, false); expected2.Set(1, true); expected2.Set(2, true); /// [false, false, true, true] var expected3 = new BitArray(4, false); expected3.Set(2, true); expected3.Set(3, true); var permutations = new List <BitArray>(); PermutationGenerator.CreateSimplePermutations(hintData[0], length, permutations.Add); Assert.Equal(3, permutations.Count); Assert.Contains(expected1, permutations); Assert.Contains(expected2, permutations); Assert.Contains(expected3, permutations); }