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