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 SetStatisticAsync_LevelTooHighButAttributesUnset_ReturnSuccess() { // Arrange var charProvider = new MockCharacterProvider(); var character = await charProvider.CreateCharacterAsync(100, "TooHigh"); // the important bit character.Experience = 50000; var statProvider = new MockStatisticProvider(); var statOptions = new StatisticOptions { InitialAttributeMin = 1, InitialAttributeMax = 10, InitialAttributePoints = 10, InitialSetupMaxLevel = 1 }; var controller = new StatisticController(charProvider, statProvider, new GenericProgressionStrategy(statProvider, statOptions)); // Act var result = await controller.SetStatisticAsync(100, "strength", 3); // Assert Assert.Equal(StatisticResult.StatisticSetSucessfully(), result); }
public async Task CreateAttributeAsync_ValidInput_ReturnSuccess() { var charProvider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var controller = new StatisticController(charProvider, statProvider, null); var result = await controller.CreateAttributeAsync("Wisdom"); Assert.Equal(StatisticResult.StatisticCreatedSuccessfully(), result); }
public async Task CreateSkillAsync_ValidInput_ReturnSuccess() { var charProvider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var controller = new StatisticController(charProvider, statProvider, null); var result = await controller.CreateSkillAsync("Intimidation", "Strength"); Assert.Equal(StatisticResult.StatisticCreatedSuccessfully(), result); }
public async Task CreateSkillAsync_AlreadyExists_ReturnNameAlreadyExists() { var charProvider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var controller = new StatisticController(charProvider, statProvider, null); var result = await controller.CreateSkillAsync("Powerlifting", "Strength"); Assert.Equal(StatisticResult.NameAlreadyExists(), result); }
public async Task CreateSkillAsync_InvalidAttributeName_ReturnCreationFailed() { var charProvider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var controller = new StatisticController(charProvider, statProvider, null); var result = await controller.CreateSkillAsync("Intimidation", "STR"); Assert.Equal(StatisticResult.StatisticCreationFailed(), result); }
public async Task CreateEffectAsync_ValidInput_ReturnSuccess() { var charProvider = new MockCharacterProvider(); var effectProvider = new MockEffectProvider(); var statProvider = new MockStatisticProvider(); var controller = new EffectController(charProvider, effectProvider, statProvider, new GeneralOptions()); var result = await controller.CreateEffectAsync(1, "ValidInput"); Assert.Equal(EffectResult.EffectCreatedSuccessfully(), result); }
public async Task CreateCharacter_ExistingNameButNotBelongingToPlayer_ReturnSuccess() { // Arrange var provider = new MockCharacterProvider(); var controller = new CharacterController(provider, null, new GeneralOptions()); // Act var result = await controller.CreateCharacterAsync(1, "c2"); // Existing // Assert Assert.Equal(CharacterResult.CharacterCreatedSuccessfully(), result); }
public async Task CreateCharacter_PlayerHasExistingName_ReturnNameAlreadyExists() { // Arrange var provider = new MockCharacterProvider(); var controller = new CharacterController(provider, null, new GeneralOptions()); // Act var result = await controller.CreateCharacterAsync(1, "c1"); // Existing // Assert Assert.Equal(CharacterResult.NameAlreadyExists(), result); }
public async Task CreateCharacter_ValidValues_ReturnSuccess() { // Arrange var provider = new MockCharacterProvider(); var controller = new CharacterController(provider, null, new GeneralOptions()); // Act var result = await controller.CreateCharacterAsync(1, "c"); // Assert Assert.Equal(CharacterResult.CharacterCreatedSuccessfully(), result); }
public async Task ShowCharacter_InvalidId_ReturnCharacterNotFound() { // Arrange var provider = new MockCharacterProvider(); var controller = new CharacterController(provider, null, new GeneralOptions()); // Act var result = await controller.ShowCharacterAsync(0); // Assert Assert.Equal(CharacterResult.CharacterNotFound(), result); }
public async Task SetStory_InvalidCharacter_ReturnCharacterNotFound() { // Arrange var provider = new MockCharacterProvider(); var controller = new CharacterController(provider, new MockProgressionStrategy(), new GeneralOptions()); // Act var result = await controller.SetCharacterStoryAsync(1000, "description"); // Assert Assert.True(CharacterResult.CharacterNotFound().Equals(result)); }
public async Task SetStatisticEffectAsync_InvalidEffectName_ReturnEffectNotFound() { // Arrange var charProvider = new MockCharacterProvider(); var effectProvider = new MockEffectProvider(); var statProvider = new MockStatisticProvider(); var controller = new EffectController(charProvider, effectProvider, statProvider, null); var result = await controller.SetStatisticEffectAsync("DoesNotExist", "Strength", 1); Assert.Equal(EffectResult.EffectNotFound(), result); }
public async Task CreateEffectAsync_AlreadyExists_ReturnNameAlreadyExists() { var charProvider = new MockCharacterProvider(); var effectProvider = new MockEffectProvider(); var statProvider = new MockStatisticProvider(); var controller = new EffectController(charProvider, effectProvider, statProvider, new GeneralOptions()); await controller.CreateEffectAsync(1, "AlreadyExists"); var result = await controller.CreateEffectAsync(1, "AlreadyExists"); Assert.Equal(EffectResult.NameAlreadyExists(), result); }
public async Task Roll_InvalidId_ReturnCharacterNotFound() { // Arrange var provider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var controller = new RollController(provider, statProvider, new MockRollStrategy()); // Act var result = await controller.RollStatisticAsync(0, "strength"); // Assert Assert.Equal(CharacterResult.CharacterNotFound(), result); }
public async Task Roll_InvalidStat_ReturnStatNotFound() { // Arrange var provider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var controller = new RollController(provider, statProvider, new MockRollStrategy()); // Act var result = await controller.RollStatisticAsync(1, "invalid"); // Assert Assert.True(StatisticResult.StatisticNotFound().Equals(result)); }
public async Task DeleteStatistic_InvalidStatName_ReturnNotFound() { // Arrange var charProvider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var controller = new StatisticController(charProvider, statProvider, new GenericProgressionStrategy(statProvider, new StatisticOptions())); // Act var result = await controller.DeleteStatisticAsync("bacon"); // Assert Assert.Equal(result, StatisticResult.StatisticNotFound()); }
public async Task RollAgainst_InvalidStatValues_ReturnRollFailed() { // Arrange var provider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var controller = new RollController(provider, statProvider, new MockRollStrategy()); // Act var result = await controller.RollStatisticAgainstAsync(1, 2, "strength"); // Assert Assert.Equal(RollResult.RollFailed(), result); }
public async Task DeleteStatistic_ValidInput_ReturnSuccess() { // Arrange var charProvider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var controller = new StatisticController(charProvider, statProvider, new GenericProgressionStrategy(statProvider, new StatisticOptions())); // Act var result = await controller.DeleteStatisticAsync("strength"); // Assert Assert.Equal(result, StatisticResult.StatisticDeletedSuccessfully()); }
public async Task SetStory_NullInput_ReturnInvalidInput() { // Arrange var provider = new MockCharacterProvider(); var controller = new CharacterController(provider, new MockProgressionStrategy(), new GeneralOptions()); // Act var result = await controller.SetCharacterStoryAsync(1, null); // Existing var character = await controller.ShowCharacterAsync(1); // Assert Assert.True(GenericResult.InvalidInput().Equals(result)); }
public async Task DeleteEffect_InvalidEffectName_ReturnNotFound() { // Arrange var charProvider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); var effectProvider = new MockEffectProvider(); var controller = new EffectController(charProvider, effectProvider, statProvider, new GeneralOptions()); // Act var result = await controller.DeleteEffectAsync("DoesNotExist"); // Assert Assert.Equal(result, EffectResult.EffectNotFound()); }
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 SetStory_ValidInput_ReturnSuccess() { // Arrange var provider = new MockCharacterProvider(); var controller = new CharacterController(provider, new MockProgressionStrategy(), new GeneralOptions()); // Act var result = await controller.SetCharacterStoryAsync(1, "story"); // Existing var character = await controller.ShowCharacterAsync(1); // Assert Assert.True(CharacterResult.CharacterUpdatedSuccessfully().Equals(result) && ((ShowCharacterViewModel)character.ViewModel).Story.Equals("story")); }
public async Task SetStatisticAsync_InvalidStatisticName_ReturnStatisticNotFound() { // Arrange var charProvider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); StatisticOptions statOptions = new StatisticOptions(); var controller = new StatisticController(charProvider, statProvider, new GenericProgressionStrategy(statProvider, statOptions)); // Act var result = await controller.SetStatisticAsync(1, "invalid", 5); // Assert Assert.Equal(StatisticResult.StatisticNotFound(), result); }
public async Task SetStatisticAsync_InvalidCharacterId_ReturnCharacterNotFound() { // Arrange var charProvider = new MockCharacterProvider(); var statProvider = new MockStatisticProvider(); StatisticOptions statOptions = new StatisticOptions(); var controller = new StatisticController(charProvider, statProvider, new GenericProgressionStrategy(statProvider, statOptions)); // Act var result = await controller.SetStatisticAsync(ulong.MaxValue, "strength", 5); // Assert Assert.Equal(CharacterResult.CharacterNotFound(), result); }
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()); }
public async Task Roll_InvalidStatValues_ReturnRollFailed() { // Arrange var statProvider = new MockStatisticProvider(); var strength = await statProvider.GetStatisticAsync("Strength"); var provider = new MockCharacterProvider(); var controller = new RollController(provider, statProvider, new MockRollStrategy()); // Act // Character should have null or empty Statistics list. var result = await controller.RollStatisticAsync(1, "strength"); // Assert Assert.True(RollResult.RollFailed().Equals(result)); }