コード例 #1
0
        public void ShouldPlayCardAtRandomFromHandWhenUsingRandomStrategy()
        {
            var player = new EpsilonGreedyPlayer(1);
            var board  = new GameBoard(2, 1);

            player.Hand.Add(CardTypeExtensions.OneCardOfEachColor);

            var play = player.FormulatePlay(board);

            CollectionAssert.Contains(CardTypeExtensions.OneCardOfEachColor, play.Card);
            Assert.AreEqual(0, play.Position);
        }
コード例 #2
0
        public void ShouldPlayCardOnOnlyOwlThatGoesFurthestWhenUsingGreedyStrategy()
        {
            var player       = new EpsilonGreedyPlayer(0);
            var greedyPlayer = new GreedyPlayer();

            var board = new GameBoard(2, 1);

            player.Hand.Add(CardTypeExtensions.OneCardOfEachColor);
            greedyPlayer.Hand.Add(CardTypeExtensions.OneCardOfEachColor);

            var play       = player.FormulatePlay(board);
            var greedyPlay = player.FormulatePlay(board);

            Assert.AreEqual(play.Card, greedyPlay.Card);
            Assert.AreEqual(play.Position, greedyPlay.Position);
        }