public void FilterCombinations_WithEmptyFilterLists_ReturnsAllCombinations() { var s = new PossibilitiesPossibilitiesSquareGroup(new[] { 1 }, 2); var allCombinations = s.AllCombinations(); var filteredCombinations = s.FilterCombinations(new PartiallyCompleteGroup(new BitGroup(31), new BitGroup(31))); Assert.That(allCombinations.HasExactBitSets(filteredCombinations)); }
[TestCase(6, new[] { 1, 1 }, 5, "00100", "10000", new[] { "00101" })] // zeroth cell is 0 and 2nd cell is 1 public void FilterCombinations(int testCaseId, int[] inputSequences, int listLength, string blackKnownSquares, string whiteKnownSquares, string[] expectedBitSets) { var s = new PossibilitiesPossibilitiesSquareGroup(inputSequences, listLength); var filteredCombinations = s.FilterCombinations(new PartiallyCompleteGroup(new BitGroup(31, blackKnownSquares), new BitGroup(31, whiteKnownSquares))); Assert.That(filteredCombinations.HasExactBitSets(expectedBitSets), Is.True); }