BusinessLogic.Tests.UnitTests.LogicTests.ChampionsTests.ChampionRecalculatorTests.RecalculateChampionTests.ItUpdatesTheExistingChampionIfOnlyTheDataHasChanged C# (CSharp) Method

ItUpdatesTheExistingChampionIfOnlyTheDataHasChanged() private method

        public void ItUpdatesTheExistingChampionIfOnlyTheDataHasChanged()
        {
            int championPlayerId = 1;
            int winPercentage = 1;
            ChampionData championData = new ChampionData
            {
                WinPercentage = winPercentage,
                PlayerId = championPlayerId,
                GameDefinitionId = _gameDefinitionId
            };
            _autoMocker.Get<IChampionRepository>().Expect(mock => mock.GetChampionData(_gameDefinitionId))
                .Return(championData);

            List<Champion> championList = new List<Champion>();
            Champion existingChampion = new Champion
            {
                Id = _previousChampionId,
                PlayerId = championPlayerId,
                WinPercentage = winPercentage + 1,
                GameDefinitionId = _gameDefinitionId,
                GameDefinition = new GameDefinition()
            };
            championList.Add(existingChampion);

            _autoMocker.Get<IDataContext>().Expect(mock => mock.GetQueryable<Champion>())
                .Return(championList.AsQueryable());

            _autoMocker.ClassUnderTest.RecalculateChampion(_gameDefinitionId, _applicationUser);

            _autoMocker.Get<IDataContext>().AssertWasCalled(mock => mock.Save(
                Arg<Champion>.Matches(champion => champion.GameDefinitionId == _gameDefinitionId
                                        && champion.PlayerId == championPlayerId
                                        && champion.WinPercentage == winPercentage),
                Arg<ApplicationUser>.Is.Anything));
        }