public void ItReturnsTheNewChampionIfItWasChanged() { ChampionData championData = new ChampionData {PlayerId = 10000}; _autoMocker.Get<IChampionRepository>().Expect(mock => mock.GetChampionData(_gameDefinitionId)) .Return(championData); List<Champion> championList = new List<Champion>(); Champion existingChampion = new Champion { Id = _previousChampionId, PlayerId = _playerChampionId }; championList.Add(existingChampion); _autoMocker.Get<IDataContext>().Expect(mock => mock.GetQueryable<Champion>()) .Return(championList.AsQueryable()); Champion actualChampion = _autoMocker.ClassUnderTest.RecalculateChampion(_gameDefinitionId, _applicationUser); Assert.That(actualChampion, Is.SameAs(_savedChampion)); }
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)); }
public void ItSetsThePreviousChampionIfTheCurrentOneChangesButItIsTheSamePlayer() { ChampionData championData = new ChampionData {PlayerId = -1}; _autoMocker.Get<IChampionRepository>().Expect(mock => mock.GetChampionData(_gameDefinitionId)) .Return(championData); _autoMocker.Get<IDataContext>().Expect(mock => mock.GetQueryable<Champion>()) .Return(new List<Champion>().AsQueryable()); _autoMocker.ClassUnderTest.RecalculateChampion(_gameDefinitionId, _applicationUser); _autoMocker.Get<IDataContext>().AssertWasCalled(mock => mock.Save( Arg<GameDefinition>.Matches(definition => definition.PreviousChampionId == _previousChampionId), Arg<ApplicationUser>.Is.Same(_applicationUser))); }
public void ItDoesntSaveTheChampionIfNothingChanged() { int championPlayerId = 1; int winPercentage = 1; ChampionData championData = new ChampionData { GameDefinitionId = _gameDefinitionId, PlayerId = championPlayerId, WinPercentage = winPercentage }; _autoMocker.Get<IChampionRepository>().Expect(mock => mock.GetChampionData(_gameDefinitionId)) .Return(championData); List<Champion> championList = new List<Champion>(); championList.Add(new Champion { Id = _previousChampionId, PlayerId = championPlayerId, GameDefinitionId = _gameDefinitionId, WinPercentage = winPercentage, GameDefinition = new GameDefinition { ChampionId = _previousChampionId } }); _autoMocker.Get<IDataContext>().Expect(mock => mock.GetQueryable<Champion>()) .Return(championList.AsQueryable()); _autoMocker.ClassUnderTest.RecalculateChampion(_gameDefinitionId, _applicationUser); _autoMocker.Get<IDataContext>().AssertWasNotCalled(mock => mock.Save( Arg<Champion>.Is.Anything, Arg<ApplicationUser>.Is.Anything)); }
public void ItSetsTheNewChampionIfItChanged() { ChampionData championData = new ChampionData { PlayerId = -1 }; _autoMocker.Get<IChampionRepository>().Expect(mock => mock.GetChampionData(_gameDefinitionId)) .Return(championData); _autoMocker.Get<IDataContext>().Expect(mock => mock.GetQueryable<Champion>()) .Return(new List<Champion>().AsQueryable()); _autoMocker.ClassUnderTest.RecalculateChampion(_gameDefinitionId, _applicationUser); _autoMocker.Get<IDataContext>().AssertWasCalled(mock => mock.Save( Arg<Champion>.Matches(champion => champion.GameDefinitionId == _gameDefinitionId && champion.PlayerId == championData.PlayerId && champion.WinPercentage == championData.WinPercentage), Arg<ApplicationUser>.Is.Same(_applicationUser))); _autoMocker.Get<IDataContext>().AssertWasCalled(mock => mock.Save( Arg<GameDefinition>.Matches(definition => definition.ChampionId == _newChampionId), Arg<ApplicationUser>.Is.Same(_applicationUser))); }