private void ReduceCandidates() { var action = new ActOnAllSegments(_puzzle); var reduceCandidates = new ReduceCandidates(); while (!action.Execute(reduceCandidates)) { ; } }
public void Execute_PassedValues_ReducesCandidates() { var puzzle = new Puzzle(new int[9, 9] { { 7, 6, 8, 0, 0, 0, 0, 4, 0 }, { 0, 2, 0, 0, 0, 0, 0, 0, 0 }, { 3, 9, 0, 0, 0, 0, 0, 0, 0 }, { 8, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 6, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 9 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 5, 0, 0 } }); var iterator = new SubGridIterator(puzzle, 0); var reduce = new ReduceCandidates(); var result = reduce.Execute(iterator); var cell = puzzle.GetCell(1, 0); Assert.AreEqual(3, cell.Candidates.Count); }