public void PickUpItem_ThatGivesArmour_ThePlayersArmourValueShouldBeIncreased() { // Arrange var player = new RpgPlayer(_engine, _playerInventory, _specialEffect); player.Armour.Should().Be(0); Item armour = ItemBuilder.Build.WithArmour(100); // Act player.PickUpItem(armour); player.CalculateStats(); // Assert player.Armour.Should().Be(100); }
public void TakeDamage_WithMoreArmourThanDamage_NoDamageIsDealtAndParryEffectIsPlayed() { // Arrange var player = new RpgPlayer(_engine, _playerInventory, _specialEffect) { Health = 200 }; player.PickUpItem(ItemBuilder.Build.WithArmour(2000)); player.CalculateStats(); // Act player.TakeDamage(100); // Assert player.Health.Should().Be(200); _engine.Received().PlaySpecialEffect("parry"); }
public void TakeDamage_With50Armour_DamageIsReducedBy50AndParticleEffectIsShown() { // Arrange var player = new RpgPlayer(_engine, _playerInventory, _specialEffect) { Health = 200 }; player.PickUpItem(ItemBuilder.Build.WithArmour(50)); player.CalculateStats(); // Act player.TakeDamage(100); // Assert player.Health.Should().Be(150); _specialEffect.PlaySpecialEffect(null); _engine.Received().PlaySpecialEffect("lots_of_gore"); }