public void Next_IteratesThroughFirstColumn_IteratesThroughPuzzle(int grid, int[] gridValues) { _iterator = new SubGridIterator(_puzzle, grid); foreach (int value in gridValues) { Assert.AreEqual(value, _iterator.GetCurrent().Value); if (!_iterator.IsDone()) { _iterator.Next(); } } }
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); }
public void SetUp() { _puzzle = new Puzzle(_testPuzzle); _iterator = new SubGridIterator(_puzzle, 0); }