Beispiel #1
0
        public void ProcessEffects_Flip_Tails()
        {
            var pokemon = new PokemonCard()
            {
                Hp = 100
            };
            var attack = new ApplyAttackPrevention()
            {
                CoinFlip = true
            };

            pokemon.Attacks.Add(attack);

            var player = new Player()
            {
                ActivePokemonCard = pokemon
            };
            var opponent = new Player
            {
                ActivePokemonCard = new PokemonCard()
                {
                    Hp = 100
                }
            };

            var game = new GameField().WithFlips(CoinFlipper.TAILS);

            game.AddPlayer(player);
            game.AddPlayer(opponent);
            game.ActivePlayerIndex = 0;

            attack.ProcessEffects(game, player, opponent);

            Assert.Empty(player.ActivePokemonCard.TemporaryAbilities);
        }
Beispiel #2
0
        public void ProcessEffects_All()
        {
            var pokemon = new PokemonCard()
            {
                Hp = 100
            };
            var attack = new ApplyAttackPrevention()
            {
                OnlySelf = false
            };

            pokemon.Attacks.Add(attack);

            var player = new Player()
            {
                ActivePokemonCard = pokemon
            };
            var opponent = new Player
            {
                ActivePokemonCard = new PokemonCard()
                {
                    Hp = 100
                }
            };

            var game = new GameField();

            game.AddPlayer(player);
            game.AddPlayer(opponent);
            game.ActivePlayerIndex = 0;

            attack.ProcessEffects(game, player, opponent);

            Assert.Single(player.ActivePokemonCard.TemporaryAbilities.OfType <PreventStatusEffects>());
            Assert.Single(player.ActivePokemonCard.TemporaryAbilities.OfType <DamageTakenModifier>());
        }