public void TestGenerateEmptyBoard() { var hashGenerator = new BoardHash(); var board = new Board(); var hash = hashGenerator.GetHash(board); Assert.AreEqual(_emptyHash, hash); }
static void Main(string[] args) { System.Console.WriteLine("Insert the board hash as 1 long line:"); var hash = System.Console.ReadLine(); var boardHash = new BoardHash(); var stats = new BoardStatistics(boardHash.LoadFromHash(hash), new PossibilityCalculator(boardHash.LoadFromHash(hash))); System.Console.WriteLine($"\n\nStarting solving. There are {stats.GetPossibilities()} possibilities.."); var solver = new BruteForceSolver(); var result = solver.Solve((new BoardHash()).LoadFromHash(hash)); System.Console.WriteLine($"Solved in {solver.Attempts} attempts.\n\n"); OutputBoard(result); }
public void TestClearBoard() { var board = new Board(); var hashGenerator = new BoardHash(); // First check if the newly created board is empty Assert.AreEqual(_emptyHash, hashGenerator.GetHash(board)); // Change the board to see if they're not empty board.SetBoardValue(1, 1, new BoardValue(1)); Assert.AreNotEqual(_emptyHash, hashGenerator.GetHash(board)); // Clear and check if it's empty board.Clear(); Assert.AreEqual(_emptyHash, hashGenerator.GetHash(board)); }
public void TestLoadBoardFromHash() { var hashGenerator = new BoardHash(); var hash = String.Empty; for (int line = 0; line < 9; line++) { for (int column = 0; column < 9; column++) { hash += column + 1; } } var board = hashGenerator.LoadFromHash(hash); Assert.AreEqual(hash, hashGenerator.GetHash(board)); }
public void PossibilitiesFor_EmptyFields() { // Arrange var boardHash = new BoardHash(); var testSet = GetTestSet(); foreach (var assert in testSet) { // Act var board = boardHash.LoadFromHash(assert.Hash); var possibilityCalculator = new PossibilityCalculator(board); var actual = possibilityCalculator.PossibilitiesFor(assert.Line, assert.Column); // Assert CollectionAssert.AreEqual(assert.ExpectedResult, actual); } }