Exemple #1
0
        public void GetCharacterStats_GetsExistingCharacterStats()
        {
            //arrange
            using var contextFactory      = new Project2ContextFactory();
            using Project2Context context = contextFactory.CreateContext();
            Character insertedCharacter = CreateCharacter();

            context.Characters.Add(insertedCharacter);
            context.SaveChanges();
            Player insertedPlayer = CreatePlayer(insertedCharacter.Id);

            context.Players.Add(insertedPlayer);
            context.SaveChanges();
            var repo = new PlayerRepository(context);

            //act
            Business.Model.Character character = repo.GetCharacterStats(insertedPlayer.Id);

            //assert
            Assert.Equal(insertedCharacter.Id, character.Id);
            Assert.Equal(insertedCharacter.CharacterName, character.CharacterName);
            Assert.Equal(insertedCharacter.Exp, character.Exp);
            Assert.Equal(insertedCharacter.Health, character.Health);
            Assert.Equal(insertedCharacter.Attack, character.Attack);
            Assert.Equal(insertedCharacter.Mana, character.Mana);
        }
Exemple #2
0
        public void UpdateCharacterStats_UpdatesCharacterStats()
        {
            //arrange
            using var contextFactory      = new Project2ContextFactory();
            using Project2Context context = contextFactory.CreateContext();
            Character characterBeforeUpdate = CreateCharacter();
            Character insertedCharacter     = new Character
            {
                Id            = characterBeforeUpdate.Id,
                CharacterName = characterBeforeUpdate.CharacterName,
                Exp           = characterBeforeUpdate.Exp,
                Health        = characterBeforeUpdate.Health,
                Attack        = characterBeforeUpdate.Attack,
                Defense       = characterBeforeUpdate.Defense,
                Mana          = characterBeforeUpdate.Mana
            };

            context.Characters.Add(insertedCharacter);
            context.SaveChanges();
            characterBeforeUpdate.Id = insertedCharacter.Id;
            var characterUpdated = new Business.Model.Character
            {
                Id            = insertedCharacter.Id,
                CharacterName = insertedCharacter.CharacterName,
                Exp           = 15,
                Health        = 12,
                Attack        = 8,
                Defense       = 6,
                Mana          = 18
            };
            var repo = new PlayerRepository(context);

            //act
            repo.UpdateCharacterStats(characterUpdated);

            //assert
            Character character = context.Characters.Local.Single(c => c.Id == characterUpdated.Id);

            Assert.Equal(characterUpdated.Id, character.Id);
            Assert.Equal(characterUpdated.CharacterName, character.CharacterName);
            Assert.Equal(characterUpdated.Exp, character.Exp);
            Assert.Equal(characterUpdated.Health, character.Health);
            Assert.Equal(characterUpdated.Attack, character.Attack);
            Assert.Equal(characterUpdated.Mana, character.Mana);
            Assert.Equal(characterBeforeUpdate.Id, character.Id);
            Assert.Equal(characterBeforeUpdate.CharacterName, character.CharacterName);
            Assert.NotEqual(characterBeforeUpdate.Exp, character.Exp);
            Assert.NotEqual(characterBeforeUpdate.Health, character.Health);
            Assert.NotEqual(characterBeforeUpdate.Attack, character.Attack);
            Assert.NotEqual(characterBeforeUpdate.Mana, character.Mana);
        }
        public void UpdateCharacterStats(Business.Model.Character character)
        {
            Character currentEntity = _context.Characters.Find(character.Id);

            var newEntity = new Character
            {
                Id            = character.Id,
                CharacterName = character.CharacterName,
                Exp           = character.Exp,
                Health        = character.Health,
                Attack        = character.Attack,
                Defense       = character.Defense,
                Mana          = character.Mana
            };

            _context.Entry(currentEntity).CurrentValues.SetValues(newEntity);
        }