Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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");
        }
Esempio n. 3
0
        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");
        }