コード例 #1
0
        public void BuildCharacter_ShouldCalculateInitialHitPoints_WhenItemConstitutionBonus()
        {
            // Arrange
            var command = CreateCharacterCommandFactory.CharacterWithItemConstitutionBonus();
            // Act
            var character = _instance.BuildCharacter(command);

            // Assert
            character.Hp.CurrentHp.Should().Be(25);
            character.Name.Should().Be(command.Name);
        }
コード例 #2
0
        public void BuildCharacter_ShouldCalculateInitialHitPoints_WhenMultiClass()
        {
            // Arrange
            var command = CreateCharacterCommandFactory.MultiClassCharacter();
            // Act
            var character = _instance.BuildCharacter(command);

            // Assert
            character.Hp.CurrentHp.Should().Be(87);
            character.Name.Should().Be(command.Name);
        }
コード例 #3
0
        public void BuildCharacter_ShouldSetDamageModififiers()
        {
            // Arrange
            var command = CreateCharacterCommandFactory.CharacterWithDamageModifiers();
            // Act
            var character = _instance.BuildCharacter(command);

            // Assert
            character.Hp.Immunities.Should().HaveCount(1);
            character.Hp.Immunities.Should().Contain(DamageTypes.Lightning);
            character.Hp.Resistances.Should().HaveCount(2);
            character.Hp.Resistances.Should().OnlyContain(x => x == DamageTypes.Fire);
            character.Hp.Vulnerabilities.Should().HaveCount(1);
            character.Hp.Vulnerabilities.Should().Contain(DamageTypes.Cold);
        }
コード例 #4
0
        public async Task CreateCharacterAsync_ShouldMakeCharacterAndReturnCharacterView()
        {
            // Arrange
            var command = CreateCharacterCommandFactory.SimpleCharacter();

            _characterRepository.Setup(x => x.SaveAsync(It.IsAny <Character>()));
            _eventBus.Setup(x => x.PublishAsync <CharacterView>(It.IsAny <CharacterView>()));
            // Act
            CharacterView result = await _instance.CreateCharacterAsync(command);

            // Assert
            _characterRepository.Verify(x => x.SaveAsync(It.IsAny <Character>()), Times.Once);
            _eventBus.Verify(x => x.PublishAsync <CharacterView>(It.Is <CharacterView>(expected => expected == result)), Times.Once);
            result.Name.Should().Be(command.Name);
            result.CurrentHp.Should().Be(22); // Same as in CharacterFactoryTests.cs
        }