Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 public CharacterService(
     RpgContext context,
     IMapper mapper)
 {
     _context = context;
     _mapper  = mapper;
 }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        public EfEffectProvider(RpgContext context)
        {
            _context = context;

            var mapperConfig = new MapperConfiguration(cfg => {
                cfg.CreateMap <Effect, EffectDto>();
                cfg.CreateMap <EffectDto, Effect>();
            });

            _mapper = new Mapper(mapperConfig);
        }
Ejemplo n.º 6
0
        public async Task CreateStatistic_ValidInput_EntityMatchesInput()
        {
            var context = new RpgContext(new GeneralOptions
            {
                UseInMemoryDatabase = true,
                DatabaseName        = "CreateStatistic_EntityMatchesInput"
            });

            var provider = new EfStatisticProvider(context);

            await provider.CreateAttributeAsync("Strength");

            var result = await provider.GetStatisticAsync("Strength");

            Assert.Equal("Strength", result.Name);
        }
Ejemplo n.º 7
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);
        }
Ejemplo n.º 8
0
        public async Task GetAllStatistics_ValidInput_EntityMatchesInput()
        {
            var context = new RpgContext(new GeneralOptions
            {
                UseInMemoryDatabase = true,
                DatabaseName        = "GetAllStatistics_EntityMatchesInput"
            });

            var statProvider = new EfStatisticProvider(context);

            await statProvider.CreateAttributeAsync("Strength");

            await statProvider.CreateSkillAsync("Powerlifting", "Strength");

            var result = await statProvider.GetAllStatisticsAsync();

            Assert.Equal(2, result.Count());
        }
Ejemplo n.º 9
0
        public async Task UpdateStatistic_ValidInput_EntityMatchesInput()
        {
            var context = new RpgContext(new GeneralOptions
            {
                UseInMemoryDatabase = true,
                DatabaseName        = "UpdateStatistic_EntityMatchesInput"
            });

            var provider = new EfStatisticProvider(context);

            await provider.CreateAttributeAsync("Strength");

            var result = await provider.GetStatisticAsync("Strength");

            result.Name    = "STR";
            result.Aliases = "STR" + "/";
            await provider.UpdateStatisticAsync(result);

            Assert.NotNull(await provider.GetStatisticAsync("STR"));
        }
Ejemplo n.º 10
0
        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);
        }
Ejemplo n.º 11
0
 public CharaterRepository(RpgContext db)
 {
     _db = db;
 }
Ejemplo n.º 12
0
 public JobRepository(RpgContext db)
 {
     _db = db;
 }
Ejemplo n.º 13
0
 public WeaponRepository(RpgContext db)
 {
     _db = db;
 }
Ejemplo n.º 14
0
 public EfRepository(RpgContext context)
 {
     _context = context;
 }
Ejemplo n.º 15
0
 public EfSqliteRepository(RpgContext context)
 {
     _context = context;
 }
Ejemplo n.º 16
0
 public EfStatisticProvider(RpgContext context)
 {
     _context = context;
 }
Ejemplo n.º 17
0
 public UnitOfWork(RpgContext context)
 {
     Context = context;
 }
Ejemplo n.º 18
0
 public SkillRepository(RpgContext db)
 {
     _db = db;
 }