예제 #1
0
        public void GetChoiceTest2()
        {
            //Arrange
            PlayerStatitics stats  = new PlayerStatitics();
            Deck            deck   = new Deck();
            IPlayer         player = new AIPlayer(stats, deck, "Bot");

            player.CurrentHand = new List <int>()
            {
                2, 3, 4, 6, 7
            };
            player.PlayerStatistics.ActualMana = 8;

            //Act
            int result = int.Parse(player.GetChoice());

            player.PlayCard(result);
            int result2 = int.Parse(player.GetChoice());

            player.PlayCard(result2);

            //Assert
            Assert.AreEqual(6, result);
            Assert.AreEqual(2, result2);
        }
예제 #2
0
        public void DrawCardFromDeckTest_Overflow()
        {
            //Arrange
            IPlayerStatistics ps = new PlayerStatitics();
            IDeck             d  = new Deck();

            Mock <IDeck> mock = new Mock <IDeck>();

            mock.Setup(x => x.IsEmpty()).Returns(false);
            mock.Setup(x => x.Draw()).Returns(3);

            IPlayer player = new Player(ps, mock.Object, "Marcin");

            //Act
            player.DrawCardFromDeck();
            player.DrawCardFromDeck();
            player.DrawCardFromDeck();
            player.DrawCardFromDeck();
            player.DrawCardFromDeck();
            player.DrawCardFromDeck();
            player.DrawCardFromDeck();
            player.DrawCardFromDeck();


            //Assert
            Assert.AreEqual(5, player.CurrentHand.Count);
        }
예제 #3
0
        public void PlayerStatiticsTest()
        {
            //Arrange
            PlayerStatitics stats;

            //Act
            stats = new PlayerStatitics();

            //Assert
            Assert.AreEqual(30, stats.MaxHp);
            Assert.AreEqual(30, stats.ActualHp);
            Assert.AreEqual(0, stats.ActualMana);
            Assert.AreEqual(0, stats.ActualMaxMana);
        }
예제 #4
0
파일: GameTests.cs 프로젝트: Wodecky/Gierka
        public void GetOpponentTest()
        {
            IPlayerStatistics ps      = new PlayerStatitics();
            IDeck             d       = new Deck();
            IPlayer           player1 = new Player(ps, d, "Marcin");
            IPlayer           player2 = new Player(ps, d, "Maciej");

            IGame game = new Game(player1, player2);

            //Act
            var actual = game.GetOpponent();

            //Assert
            Assert.AreEqual(player2, actual);
        }
예제 #5
0
파일: GameTests.cs 프로젝트: Wodecky/Gierka
        public void SwapPlayerTest()
        {
            //Arrange
            IPlayerStatistics ps      = new PlayerStatitics();
            IDeck             d       = new Deck();
            IPlayer           player1 = new Player(ps, d, "Marcin");
            IPlayer           player2 = new Player(ps, d, "Maciej");

            IGame game = new Game(player1, player2);

            //Act
            game.SwapPlayer();

            //Assert
            Assert.AreEqual(player2, game.ActualPlayer);
        }
예제 #6
0
        public void PlayerStatiticsTest_MaxActualMana()
        {
            //Arrange
            PlayerStatitics stats = new PlayerStatitics()
            {
                ActualMana    = 4,
                ActualMaxMana = 6,
                ActualHp      = 15
            };

            //Act
            stats.ActualMaxMana = 50;


            //Assert
            Assert.AreEqual(10, stats.ActualMaxMana);
        }
예제 #7
0
        public void InitializeTurnTest()
        {
            PlayerStatitics stats = new PlayerStatitics()
            {
                ActualMana    = 4,
                ActualMaxMana = 6,
                ActualHp      = 15
            };
            Mock <Deck> deck = new Mock <Deck>();


            stats.InitializeTurn(deck.Object);

            Assert.AreEqual(stats.ActualMaxMana, 7);
            Assert.AreEqual(stats.ActualMana, 7);
            Assert.AreEqual(stats.ActualHp, 15);
        }
예제 #8
0
파일: GameTests.cs 프로젝트: Wodecky/Gierka
        public void GetWinnerTest()
        {
            IPlayerStatistics ps1     = new PlayerStatitics();
            IPlayerStatistics ps2     = new PlayerStatitics();
            IDeck             d       = new Deck();
            IPlayer           player1 = new Player(ps1, d, "Marcin");
            IPlayer           player2 = new Player(ps2, d, "Maciej");

            player2.PlayerStatistics.ActualHp = 0;


            IGame game = new Game(player1, player2);

            //Act
            var actual = game.GetWinner();

            //Assert
            Assert.AreEqual(player1, actual);
        }
예제 #9
0
        public void InitializeTurnTest_Bleeding()
        {
            //Arrange
            PlayerStatitics stats = new PlayerStatitics()
            {
                ActualMana    = 4,
                ActualMaxMana = 6,
                ActualHp      = 15
            };
            Mock <IDeck> deck = new Mock <IDeck>();

            deck.Setup(x => x.IsEmpty()).Returns(true);

            //Act
            stats.InitializeTurn(deck.Object);


            //Assert
            Assert.AreEqual(14, stats.ActualHp);
        }