public async Task SetProficiencyAsync_SetFalse_ReturnSuccess() { // Arrange var charProvider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var statOptions = new StatisticOptions { InitialAttributeMin = 1, InitialAttributeMax = 10, InitialAttributePoints = 40, InitialAttributesAtMax = 7, InitialAttributesProficient = 0 }; var controller = new StatisticController(charProvider, statProvider, new GenericProgressionStrategy(statProvider, statOptions)); var character = await charProvider.GetActiveCharacterAsync(1); await controller.SetStatisticAsync(1, "strength", 10); // Act var result = await controller.SetProficiencyAsync(1, "strength", false); // Assert Assert.Equal(StatisticResult.StatisticSetSucessfully(), result); }
public async Task SetProficiencyAsync_ValidInput_ReturnSuccess() { // Arrange var charProvider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var statOptions = new StatisticOptions { InitialAttributeMin = 1, InitialAttributeMax = 10, InitialAttributePoints = 40, InitialAttributesAtMax = 7, InitialAttributesProficient = 1 }; var controller = new StatisticController(charProvider, statProvider, new GenericProgressionStrategy(statProvider, statOptions)); var character = await charProvider.GetActiveCharacterAsync(1); Statistic str = await statProvider.GetStatisticAsync("strength"); await controller.SetStatisticAsync(1, "strength", 10); // Act await controller.SetProficiencyAsync(1, "strength", true); // Assert Assert.True(character.GetStatistic(str).IsProficient); }
public async Task AddEffectAsync_MultipleCharacters_ReturnSuccess() { // Arrange var charProvider = new MockCharacterProvider(); var effectProvider = new MockEffectProvider(); var statProvider = new MockStatisticProvider(); var controller = new EffectController(charProvider, effectProvider, statProvider, new GeneralOptions()); var effect = await effectProvider.CreateEffectAsync(1, "ValidInput"); // Act await controller.AddEffectAsync(1, "ValidInput"); await controller.AddEffectAsync(2, "ValidInput"); // Assert var character1 = await charProvider.GetActiveCharacterAsync(1); var character2 = await charProvider.GetActiveCharacterAsync(2); Assert.True(character1.Effects.Contains(effect) && character2.Effects.Contains(effect)); }
public async Task SetStatisticAsync_ValidInput_ReturnSuccess() { // Arrange var charProvider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var statOptions = new StatisticOptions { InitialAttributeMin = 1, InitialAttributeMax = 10, InitialAttributePoints = 40, InitialAttributesAtMax = 7 }; var controller = new StatisticController(charProvider, statProvider, new GenericProgressionStrategy(statProvider, statOptions)); var character = await charProvider.GetActiveCharacterAsync(1); // Act await controller.SetStatisticAsync(1, "strength", 10); await controller.SetStatisticAsync(1, "perception", 2); await controller.SetStatisticAsync(1, "endurance", 6); await controller.SetStatisticAsync(1, "charisma", 6); await controller.SetStatisticAsync(1, "intelligence", 6); await controller.SetStatisticAsync(1, "agility", 5); await controller.SetStatisticAsync(1, "luck", 5); // Assert Statistic str = await statProvider.GetStatisticAsync("strength"), per = await statProvider.GetStatisticAsync("perception"), end = await statProvider.GetStatisticAsync("endurance"), cha = await statProvider.GetStatisticAsync("charisma"), inte = await statProvider.GetStatisticAsync("intelligence"), agi = await statProvider.GetStatisticAsync("agility"), lck = await statProvider.GetStatisticAsync("luck"); Assert.True(character.GetStatistic(str).Value.Equals(10) && character.GetStatistic(per).Value.Equals(2) && character.GetStatistic(end).Value.Equals(6) && character.GetStatistic(cha).Value.Equals(6) && character.GetStatistic(inte).Value.Equals(6) && character.GetStatistic(agi).Value.Equals(5) && character.GetStatistic(lck).Value.Equals(5)); }
public async Task GiveExperienceAsync_NotInEnabledChannel_ExperienceEqualsZero() { var provider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var statOptions = new StatisticOptions { ExpEnabledChannels = new ulong[] { 1 }, ExpMessageLengthDivisor = 1 }; var strategy = new GenericProgressionStrategy(statProvider, statOptions); var controller = new CharacterController(provider, strategy, new GeneralOptions()); await controller.GiveExperienceAsync(1, 2, "12345"); var character = await provider.GetActiveCharacterAsync(1); Assert.True(character.Experience == 0); }
public async Task ShowCharacter_ValidId_ReturnSuccess() { // Arrange var provider = new MockCharacterProvider(); var controller = new CharacterController(provider, new MockProgressionStrategy(), new GeneralOptions()); var dbChar = await provider.GetActiveCharacterAsync(1); // Act var result = await controller.ShowCharacterAsync(1); var charResult = result as CharacterResult; var viewModel = charResult.ViewModel as ShowCharacterViewModel; // Assert Assert.True(CharacterResult.Show(dbChar, 1, "").Equals(result) && viewModel.Name.EqualsIgnoreCase(dbChar.Name) && viewModel.Story.EqualsIgnoreCase(dbChar.Story) && viewModel.Description.EqualsIgnoreCase(dbChar.Description)); }