public void AvailableValuesInGridTest() { Sudoku sudoku = new Sudoku(testPuzzle); var expectedValues = new List<int>() { 1, 5, 6, 7, 8 }; var vals = sudoku.AvailableValuesInGrid(8); Assert.AreEqual(vals.Count, 5); foreach (var val in vals) { Assert.IsTrue(expectedValues.Contains(val)); } }
public void SetBlockTest() { int[,] setBlockTestPuzzle = { { 1, 2, 0, 4 }, { 3, 4, 0, 2 }, { 2, 3, 0, 1 }, { 4, 1, 0, 3 } }; Sudoku sudoku = new Sudoku(setBlockTestPuzzle); sudoku.SetBlock(0, 2, 3); Assert.AreEqual(sudoku.AvailableValuesInRow(0).Count, 0); Assert.AreEqual(sudoku.AvailableValuesInColumn(2).Count, 3); Assert.AreEqual(sudoku.AvailableValuesInGrid(1).Count, 1); sudoku.SetBlock(1, 2, 1); Assert.AreEqual(sudoku.AvailableValuesInRow(1).Count, 0); Assert.AreEqual(sudoku.AvailableValuesInColumn(2).Count, 2); Assert.AreEqual(sudoku.AvailableValuesInGrid(1).Count, 0); sudoku.SetBlock(2, 2, 4); Assert.AreEqual(sudoku.AvailableValuesInRow(2).Count, 0); Assert.AreEqual(sudoku.AvailableValuesInColumn(2).Count, 0); Assert.AreEqual(sudoku.AvailableValuesInGrid(3).Count, 0); Assert.IsTrue(sudoku.Solved); }