public async Task AddEffectAsync_MultipleEffects_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"); var effect2 = await effectProvider.CreateEffectAsync(1, "ValidInput2"); // Act await controller.AddEffectAsync(1, "ValidInput"); await controller.AddEffectAsync(1, "ValidInput2"); // Assert var character = await charProvider.GetActiveCharacterAsync(1); Assert.True(character.Effects.Contains(effect) && character.Effects.Contains(effect2)); }
public async Task SetStatisticEffectAsync_ValidInput_ReturnSuccess() { // Arrange var charProvider = new MockCharacterProvider(); var effectProvider = new MockEffectProvider(); var statProvider = new MockStatisticProvider(); var controller = new EffectController(charProvider, effectProvider, statProvider, null); await effectProvider.CreateEffectAsync(1, "ValidInput"); var result = await controller.SetStatisticEffectAsync("ValidInput", "Strength", 1); Assert.Equal(EffectResult.EffectUpdatedSucessfully(), result); }
public async Task SetStatisticEffectAsync_InvalidStatisticName_ReturnStatisticNotFound() { // Arrange var charProvider = new MockCharacterProvider(); var effectProvider = new MockEffectProvider(); var statProvider = new MockStatisticProvider(); var controller = new EffectController(charProvider, effectProvider, statProvider, null); await effectProvider.CreateEffectAsync(1, "ValidInput"); var result = await controller.SetStatisticEffectAsync("ValidInput", "DoesNotExist", 1); Assert.Equal(StatisticResult.StatisticNotFound(), result); }
public async Task DeleteEffect_ValidInput_ReturnSuccess() { // Arrange var charProvider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var effectProvider = new MockEffectProvider(); var controller = new EffectController(charProvider, effectProvider, statProvider, new GeneralOptions()); // Act await effectProvider.CreateEffectAsync(1, "ValidInput"); var result = await controller.DeleteEffectAsync("ValidInput"); // Assert Assert.Equal(result, EffectResult.EffectDeletedSuccessfully()); }