public void TestBoard_Populate() { string path = AppDomain.CurrentDomain.BaseDirectory; Settings settings = TurtleChallengeMain.LoadSettingsFromFile(path + "test-game-settings.json"); Board board = new Board(settings); Assert.AreEqual(board.Tiles[2, 3], Board.MINE, "Incorrect value at sampled tile"); Assert.AreEqual(board.Tiles[4, 3], Board.MINE, "Incorrect value at sampled tile"); Assert.AreEqual(board.Tiles[2, 5], Board.EXIT, "Incorrect value at sampled tile"); }
public void TestLoadSettingsFromFile() { string path = AppDomain.CurrentDomain.BaseDirectory; Settings settings = TurtleChallengeMain.LoadSettingsFromFile(path + "test-game-settings.json"); Assert.AreEqual(settings.N, 10, "Incorrect N value loaded from file"); Assert.AreEqual(settings.M, 10, "Incorrect M value loaded from file"); Assert.AreEqual(settings.startDir, 0, "Incorrect startDir value loaded from file"); Assert.AreEqual(settings.startPos[0], 5, "Incorrect startDir x value loaded from file"); Assert.AreEqual(settings.startPos[1], 5, "Incorrect startDir y value loaded from file"); }
public void TestProcessMoveSequence_Incomplete() { string path = AppDomain.CurrentDomain.BaseDirectory; Settings settings = TurtleChallengeMain.LoadSettingsFromFile(path + "test-game-settings.json"); Board board = new Board(settings); int[] testSequence = new int[] { 1, 1, 1, 0 }; string result = TurtleChallengeMain.ProcessMoveSequence(testSequence, board); Assert.AreEqual(result, TurtleChallengeMain.INCOMPLETE, "Turtle not registering as still in field"); }
public void TestProcessMoveSequence_Failure() { string path = AppDomain.CurrentDomain.BaseDirectory; Settings settings = TurtleChallengeMain.LoadSettingsFromFile(path + "test-game-settings.json"); Board board = new Board(settings); int[] testSequence = new int[] { 0, 0, 1, 1, 1, 0, 0 }; string result = TurtleChallengeMain.ProcessMoveSequence(testSequence, board); Assert.AreEqual(result, TurtleChallengeMain.FAILURE, "Turtle not registering as hitting mine"); }
public void TestProcessMoveSequence_Success() { string path = AppDomain.CurrentDomain.BaseDirectory; Settings settings = TurtleChallengeMain.LoadSettingsFromFile(path + "test-game-settings.json"); Board board = new Board(settings); int[] testSequence = new int[] { 1, 1, 1, 0, 0, 0 }; string result = TurtleChallengeMain.ProcessMoveSequence(testSequence, board); Assert.AreEqual(result, TurtleChallengeMain.SUCCESS, "Turtle not registering as reaching exit"); }
public void TestProcessMoveSequence_OutOfBounds() { string path = AppDomain.CurrentDomain.BaseDirectory; Settings settings = TurtleChallengeMain.LoadSettingsFromFile(path + "test-game-settings.json"); Board board = new Board(settings); int[] testSequence = new int[] { 0, 0, 0, 0, 0, 0 }; string result = TurtleChallengeMain.ProcessMoveSequence(testSequence, board); Assert.AreEqual(result, TurtleChallengeMain.OUTOFBOUNDS, "Turtle not registering as out of bounds"); }
public void TestLoadMovesFromFile() { string path = AppDomain.CurrentDomain.BaseDirectory; List <int[]> sequences = TurtleChallengeMain.LoadMovesFromFile(path + "test-sequences.json"); List <int[]> testSequences = new List <int[]>() { new int[] { 0, 0, 0, 0, 0, 0 }, new int[] { 1, 1, 1, 0, 0, 0 }, new int[] { 0, 0, 1, 1, 1, 0, 0 }, new int[] { 1, 1, 1, 0 } }; CollectionAssert.AreEqual(sequences[0], testSequences[0], "Sequence 0 loading incorrectly"); CollectionAssert.AreEqual(sequences[1], testSequences[1], "Sequence 0 loading incorrectly"); CollectionAssert.AreEqual(sequences[2], testSequences[2], "Sequence 0 loading incorrectly"); }