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); }
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>()); }