示例#1
0
        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");
        }
示例#2
0
        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");
        }
示例#3
0
        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");
        }
示例#4
0
        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");
        }
示例#5
0
        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");
        }
示例#6
0
        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");
        }
示例#7
0
        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");
        }