Beispiel #1
0
        public void TestWhenSpecifyingBigBangMode_ThenFirstMoveIsDynamite()
        {
            var target = new MyBot_Accessor();
            target.Mode = MoveMode.BigBang;
            var testPlayer = new Player("Test", target);

            IPlayer opponent = new Player("Opponent", new MyBot());
            Move expected = Moves.Dynamite;
            Move actual = target.MakeMove(testPlayer, opponent, GameRules.Default);
            Assert.AreEqual(expected, actual, "Big Bang always starts with Dynamite.");
        }
Beispiel #2
0
        public void TestWhenCausingAnExceptionInMakeMyMove_ThenAValidMoveIsStillReturned()
        {
            var target = new MyBot_Accessor();
            target.History = null;
            var testPlayer = new Player("Test", target);

            IPlayer opponent = new Player("Opponent", new MyBot());
            Move notExpected = Moves.WaterBalloon;
            Move actual = target.MakeMove(testPlayer, opponent, GameRules.Default);
            Assert.AreNotEqual(notExpected, actual, "Exception move should not return WaterBalloon.");
        }
Beispiel #3
0
        private short PlaySomeOpponentManyTimes(MoveMode mode, short gameCount)
        {
            short wins = 0;
            var results = new List<GameResults>();

            Parallel.For(0, gameCount, i =>
                {
                    Player you = new Player("Test", new MyBot());
                    var accessor = new MyBot_Accessor();
                    accessor.Mode = mode;
                    Player opponent = new Player("Opponent", accessor);

                    Game game = new Game(GameRules.Default);
                    GameResults result = game.Play(you, opponent);

                    if (result.Winner.TeamName.Equals("Test")) wins++;
                    results.Add(result);
                });

            VerifyResults(results, String.Format("against {0}", mode));
            return wins;
        }
Beispiel #4
0
        public void TestWhenSpecifyingCycleMode_ThenFirstMoveIsRock()
        {
            var target = new MyBot_Accessor();
            target.Mode = MoveMode.Cycle;
            var testPlayer = new Player("Test", target);

            IPlayer opponent = new Player("Opponent", new MyBot());
            Move expected = Moves.Rock;
            Move actual = target.MakeMove(testPlayer, opponent, GameRules.Default);
            Assert.AreEqual(expected, actual, "Cycle always starts with Rock.");
        }