public async Task DeleteStatistic_ValidInput_CharacterNoLongerHasValue() { // Arrange var context = new RpgContext(new GeneralOptions { UseInMemoryDatabase = true, DatabaseName = "DeleteStatistic_ValidInput_CharacterNoLongerHasValue" }); var provider = new EfStatisticProvider(context); var charProvider = new EfCharacterProvider(context); var strength = await provider.CreateAttributeAsync("strength"); await charProvider.CreateCharacterAsync(1, "bob"); var bob = await charProvider.GetActiveCharacterAsync(1); bob.SetStatistic(strength, new StatisticValue(5)); // Act bool valueDidExist = bob.GetStatistic(strength) is StatisticValue; await provider.DeleteStatisticAsync(strength); bob = await charProvider.GetActiveCharacterAsync(1); bool valueNoLongerExists = bob.GetStatistic(strength) is null; // Assert Assert.True(valueDidExist && valueNoLongerExists); }
public async Task MakeSureCharacterHasTheEffects() { var context = new RpgContext(new GeneralOptions { UseInMemoryDatabase = true, DatabaseName = "MakeSureCharacterHasTheEffects" }); var effectProvider = new EfEffectProvider(context); var charProvider = new EfCharacterProvider(context); var effect1 = await effectProvider.CreateEffectAsync(1, "Effect1"); var effect2 = await effectProvider.CreateEffectAsync(1, "Effect2"); var char1 = await charProvider.CreateCharacterAsync(1, "Char1"); char1.Active = true; char1.Effects.Add(effect1); char1.Effects.Add(effect2); await charProvider.UpdateCharacterAsync(char1); char1 = await charProvider.GetActiveCharacterAsync(1); Assert.True(char1.Effects.Count == 2); }
public async Task EntityFramework_CharacterStatistics_EntityMatchesInput() { var context = new RpgContext(new GeneralOptions { UseInMemoryDatabase = true, DatabaseName = "CharacterStatistics_EntityMatchesInput" }); var provider = new EfCharacterProvider(context); var statProvider = new EfStatisticProvider(context); ulong userIdentifier = 305847674974896128; string name = "Melon Head"; int id = 1; var strength = await statProvider.CreateAttributeAsync("Strength"); var value = new StatisticValue(5); await provider.CreateCharacterAsync(id, userIdentifier, true, name); var result = await provider.GetActiveCharacterAsync(userIdentifier); result.SetStatistic(strength, value); await provider.UpdateCharacterAsync(result); result = await provider.GetActiveCharacterAsync(userIdentifier); Assert.True(result.Statistics.Count > 0); }
public async Task EntityFramework_CreateCharacter_EntityMatchesInput() { var context = new RpgContext(new GeneralOptions { UseInMemoryDatabase = true, DatabaseName = "CreateCharacter_EntityMatchesInput" }); var provider = new EfCharacterProvider(context); await provider.CreateCharacterAsync(1, 305847674974896128, true, "Melon Head"); var result = await provider.GetActiveCharacterAsync(305847674974896128); Assert.True(result.UserIdentifier == 305847674974896128); }
public async Task EntityFramework_UpdateCharacter_EntityMatchesInput() { var context = new RpgContext(new GeneralOptions { UseInMemoryDatabase = true, DatabaseName = "UpdateCharacter_EntityMatchesInput" }); var provider = new EfCharacterProvider(context); ulong userIdentifier = 305847674974896128; string oldName = "Melon Head", newName = "Mr. Melon"; int id = 1; var result = await provider.CreateCharacterAsync(id, userIdentifier, true, oldName); result.Name = newName; await provider.UpdateCharacterAsync(result); result = await provider.GetActiveCharacterAsync(userIdentifier); Assert.Equal(newName, result.Name); }