示例#1
0
 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);
        }
示例#3
0
 public void SetUp()
 {
     _puzzle   = new Puzzle(_testPuzzle);
     _iterator = new SubGridIterator(_puzzle, 0);
 }