public void ManualTestPathFinding() { const string TEST_MAP3 = "###########################################\n" + "# F F # #\n" + "# R # #\n" + "# ################## ######## #\n" + "# # # F # #\n" + "# # F # # ### # #\n" + " C # ##### # # # #\n" + "# ####### ### ### # #\n" + "# # ## #\n" + "# #### # #\n" + "###########################################"; Map mapTest = Map.ParseMap(TEST_MAP3); Rat ratTest = new Rat(); Cat catTest = new Cat(); ratTest.SetMapAndCurrentTile(mapTest, mapTest.GetCurrentTileByRank(1)); catTest.SetMapAndCurrentTile(mapTest, mapTest.GetCurrentTileByRank(2)); Tuple <Coordinates, int> catMove = catTest.GetDirection(); Tuple <Coordinates, int> ratMove = ratTest.GetDirection(); Assert.AreEqual(1, ratMove.Item2); Assert.AreEqual(4, ratMove.Item1.X); Assert.AreEqual(1, ratMove.Item1.Y); //Assert.AreEqual(3, catMove.Item2); //Assert.AreEqual(4, catMove.Item1.X); //Assert.AreEqual(5, catMove.Item1.Y); }
public void TestPathFinding() { const string TEST_MAP = "###########################################\n" + "# F F C # #\n" + "# # R #\n" + "# ################## ######## #\n" + "# # R # F # #\n" + "# # F # # ### # #\n" + " # ##### # # # #\n" + "# ####### ### ### # #\n" + "# R # ## #\n" + "# #### C # #\n" + "###########################################"; Map mapTest = Map.ParseMap(TEST_MAP); Rat ratTest = new Rat(); Rat ratTest2 = new Rat(); Rat ratTest3 = new Rat(); Cat catTest = new Cat(); Cat catTest2 = new Cat(); ratTest.SetMapAndCurrentTile(mapTest, mapTest.GetCurrentTileByRank(1)); Tuple <Coordinates, int> ratMove = ratTest.GetDirection(); ratTest2.SetMapAndCurrentTile(mapTest, mapTest.GetCurrentTileByRank(2)); ratTest3.SetMapAndCurrentTile(mapTest, mapTest.GetCurrentTileByRank(3)); catTest2.SetMapAndCurrentTile(mapTest, mapTest.GetCurrentTileByRank(4)); catTest.SetMapAndCurrentTile(mapTest, mapTest.GetCurrentTileByRank(5)); Tuple <Coordinates, int> catMove = catTest.GetDirection(); Tuple <Coordinates, int> catMove2 = catTest2.GetDirection(); Tuple <Coordinates, int> ratMove2 = ratTest2.GetDirection(); Tuple <Coordinates, int> ratMove3 = ratTest3.GetDirection(); Assert.AreEqual(8, catMove.Item2); Assert.AreEqual(20, catMove.Item1.X); Assert.AreEqual(8, catMove.Item1.Y); Assert.AreEqual(19, catMove2.Item2); Assert.AreEqual(25, catMove2.Item1.X); Assert.AreEqual(2, catMove2.Item1.Y); Assert.AreEqual(8, ratMove.Item2); Assert.AreEqual(40, ratMove.Item1.X); Assert.AreEqual(3, ratMove.Item1.Y); // First move. Assert.AreEqual(8, ratMove2.Item2); Assert.AreEqual(16, ratMove2.Item1.X); Assert.AreEqual(5, ratMove2.Item1.Y); // Second move. //ratMove2 = ratTest2.GetDirection(true); //Assert.AreEqual(7, ratMove2.Item2); //Assert.AreEqual(15, ratMove2.Item1.X); //Assert.AreEqual(4, ratMove2.Item1.Y); // Third move. //Assert.AreEqual(6, ratMove2.Item2); //Assert.AreEqual(14, ratMove2.Item1.X); //Assert.AreEqual(5, ratMove2.Item1.Y); // Forth move. //Assert.AreEqual(5, ratMove2.Item2); //Assert.AreEqual(13, ratMove2.Item1.X); //Assert.AreEqual(4, ratMove2.Item1.Y); Assert.AreEqual(7, ratMove3.Item2); Assert.AreEqual(2, ratMove3.Item1.X); Assert.AreEqual(7, ratMove3.Item1.Y); }