public void LeavesNoEmptyCells() { LettersAndArrowsPuzzle puzzle = new LettersAndArrowsPuzzle(5); puzzle.FillEmptyCells(); for (int row = 0; row < 5; row++) { for (int column = 0; column < 5; column++) { var cell = puzzle.GetCellAtCoordinates(row, column); Assert.AreNotEqual(' ', cell.Letter); Assert.AreNotEqual(0, cell.Number); Assert.AreNotEqual(Direction.Undefined, cell.Direction); } } }
public void OHIO_CreatesExpectedFile() { const string HTML_DIRECTORY = @"html\LettersAndArrows\"; string SOURCE_DIRECTORY = ConfigurationManager.AppSettings["SourceDirectory"] + "LettersAndArrows"; LettersAndArrowsPuzzle puzzle = new LettersAndArrowsPuzzle("ohio", true, 4, 42); puzzle.FillEmptyCells(); string generateHtml = puzzle.FormatHtmlForGoogle(); File.WriteAllText(HTML_DIRECTORY + "actualExample1.html", generateHtml); var expectedLines = File.ReadAllLines(HTML_DIRECTORY + "expectedExample1.html"); var actualLines = File.ReadAllLines(HTML_DIRECTORY + "actualExample1.html"); bool anyLinesDifferent = false; for (var index = 0; index < expectedLines.Length; index++) { string expectedLine = expectedLines[index]; string actualLine = "End of file already reached."; if (index >= 0 && actualLines.Length > index) { actualLine = actualLines[index]; } if (expectedLine != actualLine) { anyLinesDifferent = true; Console.WriteLine($"Expected Line {index}:{expectedLine}"); Console.WriteLine($" Actual Line {index}:{expectedLine}"); } } if (anyLinesDifferent) { Console.WriteLine("Updating source file. Will show up as a difference in source control."); File.WriteAllLines(SOURCE_DIRECTORY + @"\expectedExample1.html", actualLines); } Assert.IsFalse(anyLinesDifferent, "Didn't expect any lines to be different."); }