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