Пример #1
0
        public void DragonCaller_FirstSkill()
        {
            Game.TurnPlayer = Kaiba;
            var dragonCaller = new DragonCaller(Game);

            Kaiba.Skill = dragonCaller;

            var lordOfD      = (Monster)Kaiba.Deck.AddCardToHand(Kaiba.Hand, "Lord of D.");
            var legalTargets = dragonCaller.GetLegalTargetsForFirstSkill();

            Assert.AreEqual(2, dragonCaller.SkillCount);
            Assert.AreEqual(3, legalTargets.Count);
            Assert.AreEqual(1, Kaiba.Hand.Cards.Count);

            // Haven't normal summoned yet
            Assert.False(dragonCaller.CanActivateFirstSkill());
            var success = dragonCaller.ExecuteFirstSkill(legalTargets[0]);

            Assert.False(success);

            new MainPhase1(Game).NormalSummonWithoutTribute(lordOfD);

            Assert.True(dragonCaller.CanActivateFirstSkill());
            success = dragonCaller.ExecuteFirstSkill(legalTargets[0]);
            Assert.True(success);
            Assert.False(dragonCaller.CanActivateSecondSkill());
            Assert.False(dragonCaller.CanActivateFirstSkill());
            Assert.True(Kaiba.Hand.Cards.Contains(legalTargets[0]));
        }
Пример #2
0
        public void DragonCaller_SecondSkill()
        {
            Game.TurnPlayer = Kaiba;
            var dragonCaller = new DragonCaller(Game);

            Kaiba.Skill = dragonCaller;

            var flute        = (Spell)Kaiba.Deck.AddCardToHand(Kaiba.Hand, "The Flute of Summoning Dragon");
            var legalTargets = dragonCaller.GetLegalTargetsForSecondSkill();

            Assert.AreEqual(2, dragonCaller.SkillCount);
            Assert.True(dragonCaller.CanActivateSecondSkill());
            Assert.AreEqual(3, legalTargets.Count);
            Assert.AreEqual(1, Kaiba.Hand.Cards.Count);

            var success = dragonCaller.ExecuteSecondSkill(legalTargets[0]);

            Assert.True(success);
            Assert.False(dragonCaller.CanActivateSecondSkill());
            Assert.False(dragonCaller.CanActivateFirstSkill());
            Assert.True(Kaiba.Hand.Cards.Contains(legalTargets[0]));
        }