public void Hand_must_have_at_least_3_cards_in_order_to_use_ability() { // Arrange var context = new TestContext(); var player = context.Player; var curse = context.CreateCard<CurseOfWar>(); var card1 = context.CreateBasicCard<Torch>(); context.SetPlayerHand(curse, card1); context.SetPlayerState(Phase.Dungeon); var ability = context.GetAbilityOf(curse); // Act var canUse = ability.Condition(player); // Assert Assert.That(canUse, Is.False); }
public void Hand_must_contain_another_hero() { // Arrange var context = new TestContext(); var player = context.Player; var honer = context.CreateCard<Whetmage>("Whetmage Honer"); context.SetPlayerHand(honer); player.Xp = 2; context.SetPlayerState(Phase.Dungeon); var ability = context.GetAbilityOf(honer); // Act var isUsable = context.IsAbilityUsable(ability); // Assert Assert.That(isUsable, Is.False); }
public void Terror_can_discard_card() { // Arrange var context = new TestContext(); var terror = context.CreateCard<Skinshifter>("Terror"); var otherCard = context.CreateBasicCard<Torch>(); context.SetPlayerHand(terror, otherCard); context.SetPlayerState(Phase.Dungeon); context.WhenSelectingOptionSelect("Discard"); var ability = context.GetAbilityOf(terror); // Act context.UseAbility(ability); // Assert Assert.That(terror.PhysicalAttack, Is.EqualTo(8)); Assert.That(terror.Strength, Is.EqualTo(8)); Assert.That(context.Player.Hand, Has.No.Member(otherCard)); Assert.That(context.Player.Discard, Has.Member(otherCard)); Assert.That(context.Player.ActiveAbilities, Has.No.Member(ability)); }
public void If_terror_destroys_disease_then_can_use_ability_one_additional_time() { var context = new TestContext(); var terror = context.CreateCard<Skinshifter>("Terror"); var disease1 = context.CreateCard<CurseOfDecay>(); var disease2 = context.CreateCard<CurseOfDecay>(); var disease3 = context.CreateCard<CurseOfDecay>(); context.SetPlayerHand(terror, disease1, disease2, disease3); context.SetPlayerState(Phase.Dungeon); context.WhenSelectingOptionSelect("Destroy"); context.WhenSelectingCardsSelectFirst(); var ability = context.GetAbilityOf(terror); // Act context.UseAbility(ability); context.UseAbilityOf(terror); // Assert Assert.That(context.Player.Hand, Has.No.Member(disease1)); Assert.That(context.Player.Hand, Has.No.Member(disease2)); Assert.That(context.Player.ActiveAbilities, Has.No.Member(ability)); }