public void CreatesExpectedUniqueWords() { WordHexagon hexagon = new WordHexagon(); hexagon.SetDiagonalLineAtIndex(0, "nib"); hexagon.SetDiagonalLineAtIndex(1, "visa"); hexagon.SetDiagonalLineAtIndex(2, "bigly"); hexagon.SetDiagonalLineAtIndex(3, "ache"); hexagon.SetDiagonalLineAtIndex(4, "net"); Console.WriteLine(hexagon); List <string> expectedWords = new List <string> { "ban", "vice", "night", "isle", "bay", "nib", "visa", "bigly", "ache", "net" }; CollectionAssert.AreEquivalent(expectedWords, hexagon.UniqueWords); }
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 KNIGHTS_ARGENT_Example() { WordHexagon hexagon = new WordHexagon(4); hexagon.SetHorizontalLineAtIndex(2, "knight"); Assert.IsTrue(hexagon.SetDiagonalLineAtIndex(5, "argent")); }
public void SingleInvalidLine_ReturnsFalse(int index, string word) { WordHexagon hexagon = new WordHexagon(4); Assert.IsTrue(hexagon.ValidateHorizontalLines()); hexagon.SetDiagonalLineAtIndex(index, word); Assert.IsFalse(hexagon.ValidateDiagonalLines(), $"After setting {word} at index {index}, it should be invalid."); }
public void NIGHT_ANGEL_FindsExpectedLines() { WordHexagon hexagon = new WordHexagon(); hexagon.SetHorizontalLineAtIndex(2, "night"); hexagon.SetDiagonalLineAtIndex(2, "angel"); List <string> results = hexagon.FindHorizontalLineAtIndex(1); Assert.AreEqual("ante", results[0]); }
public void CAT_Index_0_CreatesExpectedPuzzle() { WordHexagon hexagon = new WordHexagon(); hexagon.SetDiagonalLineAtIndex(0, "cat"); Assert.AreEqual("___", hexagon.Lines[0]); Assert.AreEqual("____", hexagon.Lines[1]); Assert.AreEqual("c____", hexagon.Lines[2]); Assert.AreEqual("a___", hexagon.Lines[3]); Assert.AreEqual("t__", hexagon.Lines[4]); }
public void TURN_Index_3_CreatesExpectedPuzzle() { WordHexagon hexagon = new WordHexagon(); hexagon.SetDiagonalLineAtIndex(3, "turn"); Assert.AreEqual("_t_", hexagon.Lines[0]); Assert.AreEqual("__u_", hexagon.Lines[1]); Assert.AreEqual("___r_", hexagon.Lines[2]); Assert.AreEqual("___n", hexagon.Lines[3]); Assert.AreEqual("___", hexagon.Lines[4]); }
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()); }
public void DAWN_Index_7_CreatesExpectedPuzzle() { WordHexagon hexagon = new WordHexagon(4); hexagon.SetDiagonalLineAtIndex(7, "dawn"); Assert.AreEqual("___d", hexagon.Lines[0]); Assert.AreEqual("____a", hexagon.Lines[1]); Assert.AreEqual("_____w", hexagon.Lines[2]); Assert.AreEqual("___*__n", 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 TURNS_Index_1_CreatesExpectedPuzzle() { WordHexagon hexagon = new WordHexagon(4); hexagon.SetDiagonalLineAtIndex(1, "turns"); Assert.AreEqual("____", hexagon.Lines[0]); Assert.AreEqual("_____", hexagon.Lines[1]); Assert.AreEqual("t_____", hexagon.Lines[2]); Assert.AreEqual("_u_*___", hexagon.Lines[3]); Assert.AreEqual("_r____", hexagon.Lines[4]); Assert.AreEqual("_n___", hexagon.Lines[5]); Assert.AreEqual("_s__", hexagon.Lines[6]); }
public void DOG_Index_4_CreatesExpectedPuzzle() { WordHexagon hexagon = new WordHexagon(4); hexagon.SetDiagonalLineAtIndex(4, "dog"); Assert.AreEqual("____", hexagon.Lines[0]); Assert.AreEqual("_____", hexagon.Lines[1]); Assert.AreEqual("______", hexagon.Lines[2]); Assert.AreEqual("___*___", hexagon.Lines[3]); Assert.AreEqual("___d__", hexagon.Lines[4]); Assert.AreEqual("___o_", hexagon.Lines[5]); Assert.AreEqual("___g", hexagon.Lines[6]); }
public void TURNIP_Index_5_CreatesExpectedPuzzle() { WordHexagon hexagon = new WordHexagon(4); hexagon.SetDiagonalLineAtIndex(5, "turnip"); Assert.AreEqual("_t__", hexagon.Lines[0]); Assert.AreEqual("__u__", hexagon.Lines[1]); Assert.AreEqual("___r__", hexagon.Lines[2]); Assert.AreEqual("___*n__", hexagon.Lines[3]); Assert.AreEqual("____i_", hexagon.Lines[4]); Assert.AreEqual("____p", hexagon.Lines[5]); Assert.AreEqual("____", hexagon.Lines[6]); }
public void NIGHT_Index_6_CreatesExpectedPuzzle() { WordHexagon hexagon = new WordHexagon(4); hexagon.SetDiagonalLineAtIndex(6, "night"); Assert.AreEqual("__n_", hexagon.Lines[0]); Assert.AreEqual("___i_", hexagon.Lines[1]); Assert.AreEqual("____g_", hexagon.Lines[2]); Assert.AreEqual("___*_h_", hexagon.Lines[3]); Assert.AreEqual("_____t", hexagon.Lines[4]); Assert.AreEqual("_____", hexagon.Lines[5]); Assert.AreEqual("____", hexagon.Lines[6]); }
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 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()); }