public void CreatesExpectedUniqueWords() { WordHexagon hexagon = new WordHexagon(); hexagon.SetHorizontalLineAtIndex(0, "war"); hexagon.SetHorizontalLineAtIndex(1, "taco"); hexagon.SetHorizontalLineAtIndex(2, "night"); hexagon.SetHorizontalLineAtIndex(3, "aloe"); hexagon.SetHorizontalLineAtIndex(4, "pen"); Console.WriteLine(hexagon); List <string> expectedWords = new List <string> { "war", "taco", "night", "aloe", "pen", "wagon", "tile", "rot", "ache", "nap" }; CollectionAssert.AreEquivalent(expectedWords, hexagon.UniqueWords); }
public void NIGHT_ANGEL_ANTE_FindsExpectedLines() { WordHexagon hexagon = new WordHexagon(); hexagon.SetHorizontalLineAtIndex(2, "night"); hexagon.SetDiagonalLineAtIndex(2, "angel"); hexagon.SetHorizontalLineAtIndex(1, "ante"); List <string> results = hexagon.FindHorizontalLineAtIndex(3); Assert.AreEqual("axes", results[0]); }
public void KNIGHTS_ARGENT_Example() { WordHexagon hexagon = new WordHexagon(4); hexagon.SetHorizontalLineAtIndex(2, "knight"); Assert.IsTrue(hexagon.SetDiagonalLineAtIndex(5, "argent")); }
public void NoAssertions() { WordHexagon hexagon = new WordHexagon(); hexagon.SetHorizontalLineAtIndex(0, "ban"); hexagon.SetHorizontalLineAtIndex(1, "vice"); hexagon.SetHorizontalLineAtIndex(2, "night"); hexagon.SetHorizontalLineAtIndex(3, "isle"); hexagon.SetHorizontalLineAtIndex(4, "bay"); const string FILE_NAME = "test.xml"; if (File.Exists(FILE_NAME)) { File.Delete(FILE_NAME); } hexagon.Serialize(FILE_NAME); }
public void ReturnsExpectedString() { WordHexagon hexagon = new WordHexagon(); hexagon.SetHorizontalLineAtIndex(2, "night"); hexagon.SetDiagonalLineAtIndex(2, "angel"); hexagon.SetHorizontalLineAtIndex(1, "ante"); const string EXPECTED_STRING = @" A _ _ A N T E N I G H T _ _ E _ _ _ L Unique words: night, angel, ante "; Assert.AreEqual(EXPECTED_STRING, hexagon.ToString()); }
public void NIGHT_FindsExpectedLines() { WordHexagon hexagon = new WordHexagon(); hexagon.SetHorizontalLineAtIndex(2, "night"); List <string> results = hexagon.FindDiagonalLineAtIndex(2); Assert.AreEqual("aegis", results[0]); }
public void KNIGHT_KABOO_ASHED_FindsExpectedLines() { WordHexagon hexagon = new WordHexagon(4); hexagon.SetHorizontalLineAtIndex(2, "knight"); hexagon.SetDiagonalLineAtIndex(1, "kaboo"); hexagon.SetDiagonalLineAtIndex(6, "ashed"); List <string> results = hexagon.FindHorizontalLineAtIndex(0); foreach (var result in results) { Assert.AreEqual('a', result[2], $"Expected 'a' as the third character in {result}"); } Assert.AreEqual("agar", results[0]); results = hexagon.FindHorizontalLineAtIndex(1); foreach (var result in results) { Assert.AreEqual('s', result[3], $"Expected 's' as the fourth character in {result}"); } Assert.AreEqual("abase", results[0]); //index 2 is KNIGHT, already placed. //index 3 tested above. results = hexagon.FindHorizontalLineAtIndex(4); foreach (var result in results) { Assert.AreEqual('e', result[1], $"Expected 'e' as the middle character in {result}"); } //Assert.AreEqual("bed", results[0]); results = hexagon.FindHorizontalLineAtIndex(5); foreach (var result in results) { Assert.AreEqual('b', result[1], $"Expected 'b' as the second character in {result}"); Assert.AreEqual('d', result[5], $"Expected 'd' as the last character in {result}"); } Assert.AreEqual("abound", results[0]); results = hexagon.FindHorizontalLineAtIndex(6); foreach (var result in results) { Assert.AreEqual('o', result[1], $"Expected 'o' as the second character in {result}"); } //Assert.AreEqual("aorta", results[0]); results = hexagon.FindHorizontalLineAtIndex(7); foreach (var result in results) { Assert.AreEqual('o', result[1], $"Expected 'o' as the second character in {result}"); } //Assert.AreEqual("boar", results[0]); }
public void CreatesSameDescription() { WordHexagon hexagon = new WordHexagon(4); hexagon.SetHorizontalLineAtIndex(2, "knight"); hexagon.SetDiagonalLineAtIndex(1, "kaboo"); hexagon.SetDiagonalLineAtIndex(6, "ashed"); WordHexagon hexagonCopy = new WordHexagon(hexagon); Assert.AreEqual(hexagon.ToString(), hexagonCopy.ToString()); }
public void NIGHT_CreatesExpectedPuzzle() { WordHexagon hexagon = new WordHexagon(); hexagon.SetHorizontalLineAtIndex(2, "night"); Assert.AreEqual("___", hexagon.Lines[0]); Assert.AreEqual("____", hexagon.Lines[1]); Assert.AreEqual("night", hexagon.Lines[2]); Assert.AreEqual("____", hexagon.Lines[3]); Assert.AreEqual("___", hexagon.Lines[4]); }
public void NIGHT_Index7_CreatesExpectedPuzzle() { WordHexagon hexagon = new WordHexagon(4); hexagon.SetHorizontalLineAtIndex(7, "dawn"); Assert.AreEqual("____", hexagon.Lines[0]); Assert.AreEqual("_____", hexagon.Lines[1]); Assert.AreEqual("______", hexagon.Lines[2]); Assert.AreEqual("___*___", hexagon.Lines[3]); Assert.AreEqual("______", hexagon.Lines[4]); Assert.AreEqual("_____", hexagon.Lines[5]); Assert.AreEqual("dawn", hexagon.Lines[6]); }
public void DOG_CreatesExpectedPuzzle() { WordHexagon hexagon = new WordHexagon(4); hexagon.SetHorizontalLineAtIndex(4, "dog"); Assert.AreEqual("____", hexagon.Lines[0]); Assert.AreEqual("_____", hexagon.Lines[1]); Assert.AreEqual("______", hexagon.Lines[2]); Assert.AreEqual("___*dog", hexagon.Lines[3]); Assert.AreEqual("______", hexagon.Lines[4]); Assert.AreEqual("_____", hexagon.Lines[5]); Assert.AreEqual("____", hexagon.Lines[6]); }
public void CAT_CreatesExpectedPuzzle() { WordHexagon hexagon = new WordHexagon(4); hexagon.SetHorizontalLineAtIndex(3, "cat"); Assert.AreEqual("____", hexagon.Lines[0]); Assert.AreEqual("_____", hexagon.Lines[1]); Assert.AreEqual("______", hexagon.Lines[2]); Assert.AreEqual("cat*___", hexagon.Lines[3]); Assert.AreEqual("______", hexagon.Lines[4]); Assert.AreEqual("_____", hexagon.Lines[5]); Assert.AreEqual("____", hexagon.Lines[6]); }
public void NIGHT_ANGEL_Index_2_CreatesExpectedPuzzle() { WordHexagon hexagon = new WordHexagon(); hexagon.SetHorizontalLineAtIndex(2, "night"); hexagon.SetDiagonalLineAtIndex(2, "angel"); Assert.AreEqual("a__", hexagon.Lines[0]); Assert.AreEqual("_n__", hexagon.Lines[1]); Assert.AreEqual("night", hexagon.Lines[2]); Assert.AreEqual("__e_", hexagon.Lines[3]); Assert.AreEqual("__l", hexagon.Lines[4]); }
public void KNIGHT_KABOB_FindsExpectedLines() { WordHexagon hexagon = new WordHexagon(4); hexagon.SetHorizontalLineAtIndex(2, "knight"); hexagon.SetDiagonalLineAtIndex(1, "kabob"); List <string> results = hexagon.FindHorizontalLineAtIndex(3); Assert.AreEqual("bah", results[0]); foreach (var result in results) { Assert.AreEqual('a', result[1], $"Expected 'a' as the middle character in {result}"); } }
public void KNIGHT_FindsExpectedLines() { WordHexagon hexagon = new WordHexagon(4); hexagon.SetHorizontalLineAtIndex(2, "knight"); List <string> results = hexagon.FindDiagonalLineAtIndex(1); //should start with K Assert.AreEqual("kabob", results[0]); foreach (var result in results) { StringAssert.StartsWith("k", result, $"Expected {result} to start with k."); } }
public void ExcludesSingleVersionsOfWords() { WordHexagon hexagon = new WordHexagon(4); hexagon.SetHorizontalLineAtIndex(1, "rocks"); var candidates = hexagon.FindDiagonalLineAtIndex(0); bool foundRock = false; foreach (string candidate in candidates) { if (candidate == "rock") { foundRock = true; } } Assert.IsFalse(foundRock, "Should not have found ROCK because ROCKS is already in the puzzle."); }
public void ReturnsExpectedString() { WordHexagon hexagon = new WordHexagon(4); hexagon.SetHorizontalLineAtIndex(2, "knight"); hexagon.SetDiagonalLineAtIndex(1, "kaboo"); hexagon.SetDiagonalLineAtIndex(6, "ashed"); const string EXPECTED_STRING = @" _ _ A _ _ _ _ S _ K N I G H T _ A _ * _ E _ _ B _ _ _ D _ O _ _ _ _ O _ _ Unique words: knight, kaboo, ashed "; Assert.AreEqual(EXPECTED_STRING, hexagon.ToString()); }