public void CannotNormalSetTwiceInSameMainPhase() { Assert.AreEqual(0, Kaiba.Field.GetMonsters().Count); Assert.AreEqual(CardLocation.Hand, BattleOx.Location); Assert.AreEqual(CardLocation.Hand, TwinHeadedBehemoth.Location); var phase = new MainPhase1(Game); var success = phase.NormalSetWithoutTribute(BattleOx); // Fist summon should go through Assert.True(success); Assert.AreEqual(1, Kaiba.Field.GetMonsters().Count); Assert.AreEqual(CardLocation.MonsterZone, BattleOx.Location); Assert.AreEqual(CardLocation.Hand, TwinHeadedBehemoth.Location); success = phase.NormalSetWithoutTribute(TwinHeadedBehemoth); Assert.False(success); Assert.AreEqual(1, Kaiba.Field.GetMonsters().Count); Assert.AreEqual(CardLocation.MonsterZone, BattleOx.Location); Assert.AreEqual(CardLocation.Hand, TwinHeadedBehemoth.Location); }
public void CanActivateFluteIfLegal() { var lordOfD = (Monster)Kaiba.Deck.AddCardToHand(Kaiba.Hand, "Lord of D."); var flute = (Spell)Kaiba.Deck.AddCardToHand(Kaiba.Hand, "The Flute of Summoning Dragon"); var bewd = (Monster)Kaiba.Deck.AddCardToHand(Kaiba.Hand, "Blue-Eyes White Dragon"); var tdragon = (Monster)Kaiba.Deck.AddCardToHand(Kaiba.Hand, "Tyrant Dragon"); Assert.AreEqual(4, Kaiba.Hand.Cards.Count); Assert.AreEqual(0, Kaiba.DiscardPile.Count); Assert.AreEqual(0, Kaiba.Field.SpellTrapZones.Where(z => z.SpellTrapCard != null).Count()); Assert.AreEqual(0, Kaiba.Field.MonsterZones.Where(z => z.Monster != null).Count()); var mp = new MainPhase1(Game); mp.NormalSetWithoutTribute(lordOfD); var success = mp.ActivateSpell(flute, bewd, tdragon); Assert.True(success); Assert.AreEqual(0, Kaiba.Hand.Cards.Count); Assert.AreEqual(1, Kaiba.DiscardPile.Count); Assert.AreEqual(0, Kaiba.Field.SpellTrapZones.Where(z => z.SpellTrapCard != null).Count()); Assert.AreEqual(3, Kaiba.Field.MonsterZones.Where(z => z.Monster != null).Count()); }