示例#1
0
        public void equals_failure_possible()
        {
            string     puzzle = "004300209005009001070060043006002087190007400050083000600000105003508690042910300";
            SudokuGrid grid1  = new SudokuGrid(puzzle);
            SudokuGrid grid2  = new SudokuGrid(puzzle);

            grid1._grid_cells[1, 1]._possible_values = new List <int> {
                1, 2, 3
            };
            grid1._grid_cells[2, 2]._possible_values = new List <int> {
                2
            };
            grid1._grid_cells[3, 3]._possible_values = new List <int> {
                1, 3
            };
            grid1._grid_cells[4, 4]._possible_values = new List <int> {
                1, 2, 3
            };

            grid1._grid_cells[1, 1]._possible_values = new List <int> {
                1, 2, 3, 4
            };
            grid1._grid_cells[2, 2]._possible_values = new List <int> {
                2
            };
            grid1._grid_cells[3, 3]._possible_values = new List <int> {
                1, 3
            };
            grid1._grid_cells[4, 4]._possible_values = new List <int> {
                1, 2, 3
            };

            Assert.False(grid1.Equals(grid2), "Grids same puzzles, but different possible values should not be equal");
        }
示例#2
0
        public void equals_success_possible()
        {
            string     puzzle = "004300209005009001070060043006002087190007400050083000600000105003508690042910300";
            SudokuGrid grid1  = new SudokuGrid(puzzle);
            SudokuGrid grid2  = new SudokuGrid(puzzle);

            grid1._grid_cells[1, 1]._possible_values = new List <int> {
                1, 2, 3
            };
            grid1._grid_cells[2, 2]._possible_values = new List <int> {
                2
            };
            grid1._grid_cells[3, 3]._possible_values = new List <int> {
                1, 3
            };
            grid1._grid_cells[4, 4]._possible_values = new List <int> {
                1, 2, 3
            };

            grid2._grid_cells[1, 1]._possible_values = new List <int> {
                1, 2, 3
            };
            grid2._grid_cells[2, 2]._possible_values = new List <int> {
                2
            };
            grid2._grid_cells[3, 3]._possible_values = new List <int> {
                1, 3
            };
            grid2._grid_cells[4, 4]._possible_values = new List <int> {
                1, 2, 3
            };

            Assert.True(grid1.Equals(grid2), "Grids created with the same puzzles should be equal");
        }
示例#3
0
        public void equals_failure_basic()
        {
            SudokuGrid grid1 = new SudokuGrid("004300209005009001070060043006002087190007400050083000600000105003508690042910300");
            SudokuGrid grid2 = new SudokuGrid("004300209005009001070060043006002087190007400050083000600000105003508690042910301");

            Assert.False(grid1.Equals(grid2), "Grids created with the different puzzles should not be equal");
        }
示例#4
0
        public void equals_success_basic()
        {
            string     puzzle = "004300209005009001070060043006002087190007400050083000600000105003508690042910300";
            SudokuGrid grid1  = new SudokuGrid(puzzle);
            SudokuGrid grid2  = new SudokuGrid(puzzle);

            Assert.True(grid1.Equals(grid2), "Grids created with the same puzzles should be equal");
        }
示例#5
0
        public void clone_test()
        {
            string     puzzle = "140060800085010040907400250030070400209000307008900060000740010601305090700002600";
            SudokuGrid grid   = new SudokuGrid(puzzle);

            grid.set_possible_values_of_all_cells();

            SudokuGrid grid2 = (SudokuGrid)grid.Clone();

            // the cloned grid is equal to the first
            Assert.True(grid2.Equals(grid));

            grid2._grid_cells[2, 1]._possible_values.Add(4);
            Assert.False(grid2.Equals(grid), "changing a possible value in one grid should not also reflect on the other grid");

            grid2 = (SudokuGrid)grid.Clone();
            Assert.True(grid2.Equals(grid), "setting the grid back to a fresh clone should make them equal again");
        }
示例#6
0
        public void TestSudokuGridCopy()
        {
            SudokuGrid myGrid1 = new SudokuGrid();

            myGrid1[0, 0].solve(1);

            SudokuGrid myGrid2 = new SudokuGrid();

            myGrid2[0, 0].solve(1);

            Assert.IsTrue(myGrid1.Equals(myGrid2));
        }
示例#7
0
 public void remove_value_from_permitted_values_in_cells_test_true(SudokuGrid grid_in, int value_to_remove, CoordinateList affected_cells, SudokuGrid grid_out, string message)
 {
     grid_in._grid_cells = SudokuGrid.remove_value_from_permitted_values_in_cells(grid_in._grid_cells, value_to_remove, affected_cells);
     Assert.True(grid_in.Equals(grid_out), message);
 }