Example #1
0
        public void GameOver()
        {
            string[] lines =
            {
                "->-*",
                "--*-",
                "-*--",
                "-*-e"
            };

            Game game = GameParser.ParseGameSettings(lines);

            game.Move(Move.Move);
            Assert.AreEqual(GameState.InProgress, game.State);

            game.Move(Move.Move);
            Assert.AreEqual(GameState.Dead, game.State);

            Exception exception = null;

            try
            {
                game.Move(Move.Move);
            }
            catch (GameOverException ex)
            {
                exception = ex;
            }

            Assert.IsNotNull(exception);
        }
Example #2
0
        public void MoveOffTheBoard()
        {
            string[] lines =
            {
                "--->",
                "--*-",
                "-*--",
                "-*-e"
            };

            Game game = GameParser.ParseGameSettings(lines);

            Exception exception = null;

            try
            {
                game.Move(Move.Move);
            }
            catch (InvalidMoveException ex)
            {
                exception = ex;
            }

            Assert.IsNotNull(exception);
        }
Example #3
0
        public void Success()
        {
            string[] lines =
            {
                ">---",
                "--*-",
                "-*--",
                "-*-e"
            };

            GameParser.ParseGameSettings(lines);
        }
Example #4
0
        public void Success()
        {
            string[] lines =
            {
                ">---",
                "--*-",
                "-*--",
                "-*-e"
            };

            Game game = GameParser.ParseGameSettings(lines);

            game.Move(Move.Move);

            Assert.AreEqual(GameState.InProgress, game.State);
        }
Example #5
0
        public void NoData()
        {
            string[] lines =
            {
            };

            Exception exception = null;

            try
            {
                GameParser.ParseGameSettings(lines);
            }
            catch (Exception ex)
            {
                exception = ex;
            }

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "No data found");
        }
Example #6
0
        public void NoExit()
        {
            string[] lines =
            {
                ">---",
                "-**-",
                "----",
                "----"
            };

            Exception exception = null;

            try
            {
                GameParser.ParseGameSettings(lines);
            }
            catch (Exception ex)
            {
                exception = ex;
            }

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "No exit found");
        }
Example #7
0
        public void NoTurtle()
        {
            string[] lines =
            {
                "----",
                "----",
                "-**-",
                "---e"
            };

            Exception exception = null;

            try
            {
                GameParser.ParseGameSettings(lines);
            }
            catch (Exception ex)
            {
                exception = ex;
            }

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "No start position specified");
        }
Example #8
0
        public void InconsistentBoardSize()
        {
            string[] lines =
            {
                ">---",
                "----",
                "---", // 3 characters
                "---e"
            };

            Exception exception = null;

            try
            {
                GameParser.ParseGameSettings(lines);
            }
            catch (Exception ex)
            {
                exception = ex;
            }

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Inconsistent game width");
        }
Example #9
0
        public void InvalidCharacter()
        {
            string[] lines =
            {
                ">---",
                "----",
                "--?-",
                "---e"
            };

            Exception exception = null;

            try
            {
                GameParser.ParseGameSettings(lines);
            }
            catch (Exception ex)
            {
                exception = ex;
            }

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Unexpected character found");
        }
Example #10
0
        public void MultipleTurtles()
        {
            string[] lines =
            {
                ">---",
                "----",
                "--^-",
                "---e"
            };

            Exception exception = null;

            try
            {
                GameParser.ParseGameSettings(lines);
            }
            catch (Exception ex)
            {
                exception = ex;
            }

            Assert.IsNotNull(exception);
            Assert.AreEqual(exception.Message, "Multiple starts found");
        }