Esempio n. 1
0
        public void TestDefendedAttack()
        {
            TestRandomGenerator tg = new TestRandomGenerator();

            //full attack
            tg.toReturn.Add(5);
            //round up
            tg.toReturn.Add(1);


            tg.toReturn.Add(5);
            //rounf down
            tg.toReturn.Add(0);

            tg.toReturn.Add(4);

            //1 rounded down
            tg.toReturn.Add(1);
            tg.toReturn.Add(0);

            PlayerObjectContainer t1 = container.With<string>("t1").With<IRandomNumberGenerator>(tg).GetInstance<PlayerObjectContainer>();

            t1.PlayerHand.AddCard(CardData.LOOSUM_HAGAR);

            PlayerObjectContainer t2 = container.With<string>("t2").With<IRandomNumberGenerator>(tg).GetInstance<PlayerObjectContainer>();

           
            t2.PlayerHand.AddCard(CardData.GHOST_BOSS);
            t2.PlayerHand.AddCard(CardData.JANUS_OUTRIGGER);
            t2.PlayerHand.AddCard(CardData.RIKTER_OUTRIGGER);
            t2.PlayerHand.AddCard(CardData.MAYOR_CLAYTON);

            t2.PlayerHand.DealDamageTo(t1.PlayerHand[0], t2.PlayerHand[0], 5);

            t2.PlayerHand[0].LifeRemaining.Should().Be(t2.PlayerHand[0].MaxHitPoints - 3);

            t2.PlayerHand.DealDamageTo(t1.PlayerHand[0], t2.PlayerHand[1], 5);

            t2.PlayerHand[1].LifeRemaining.Should().Be(t2.PlayerHand[1].MaxHitPoints - 2);

            t2.PlayerHand.DealDamageTo(t1.PlayerHand[0], t2.PlayerHand[2], 5);
            t2.PlayerHand[2].LifeRemaining.Should().Be(t2.PlayerHand[2].MaxHitPoints - 2);


            t2.PlayerHand.DealDamageTo(t1.PlayerHand[0], t2.PlayerHand[3], 5);
            t2.PlayerHand[3].LifeRemaining.Should().Be(t2.PlayerHand[3].MaxHitPoints - 1);
        }
Esempio n. 2
0
        public void TestStun()
        {
            TestRandomGenerator tg = new TestRandomGenerator();

            //full attack
            tg.toReturn.Add(2);
            //no stun
            tg.toReturn.Add(1);

            tg.toReturn.Add(1);
            //round up
            tg.toReturn.Add(1);
            // stun
            tg.toReturn.Add(0);

            tg.toReturn.Add(2);
            tg.toReturn.Add(1);

            PlayerObjectContainer t1 = container.With<String>("t1").With<IRandomNumberGenerator>(tg).GetInstance<PlayerObjectContainer>();

            t1.PlayerHand.AddCard(CardData.CRAZY_JOE);

            PlayerObjectContainer t2 = container.With<String>("t2").With<IRandomNumberGenerator>(tg).GetInstance<PlayerObjectContainer>();
            
            t2.PlayerHand.AddCard(CardData.GHOST_BOSS);
            

            t1.PlayerHand.HandleUserCardAction(t1.PlayerHand[0], t2.PlayerHand, true, 0);

            t2.PlayerHand[0].IsStunned.Should().BeFalse();
            t2.PlayerHand[0].LifeRemaining.Should().Be(t2.PlayerHand[0].MaxHitPoints - 1);

            t1.PlayerHand.HandleUserCardAction(t1.PlayerHand[0], t2.PlayerHand, true, 0);

            t2.PlayerHand[0].LifeRemaining.Should().Be(t2.PlayerHand[0].MaxHitPoints - 2);
            t2.PlayerHand[0].IsStunned.Should().BeTrue();

            t1.PlayerHand.HandleUserCardAction(t1.PlayerHand[0], t2.PlayerHand, true, 0);
            //Still stunned
            t2.PlayerHand[0].IsStunned.Should().BeTrue();
            t2.PlayerHand[0].LifeRemaining.Should().Be(t2.PlayerHand[0].MaxHitPoints - 3);

        }