public void It_Doesnt_Get_Exceptions_While_Processing_Lots_Of_Events_For_The_Same_Player() { //--arrange //--act var playedGameEvent = new PlayedGameCreatedEvent { //--any playedGame from the integration test base should be sufficient to generate at least one achievement TriggerEntityId = testPlayedGames[0].Id }; var taskList = new List <Task <bool> >(); var dataContexts = new List <NemeStatsDataContext>(); int NUMBER_OF_CALLS = 3; for (int i = 0; i < NUMBER_OF_CALLS; i++) { var dataContext = new NemeStatsDataContext(); dataContexts.Add(dataContext); } for (int i = 0; i < NUMBER_OF_CALLS; i++) { var achievementsEventHandler = new AchievementsEventHandler(dataContexts[i], MockRepository.GenerateMock <IRollbarClient>()); var lastTask = new Task <bool>(() => achievementsEventHandler.Handle(playedGameEvent)); lastTask.Start(); taskList.Add(lastTask); } try { if (taskList.Any(task => !task.Result)) { throw new AssertionException("There was an exception from one of the tasks."); } } finally { foreach (var dataContext in dataContexts) { try { dataContext.Dispose(); } catch (Exception) { //squish } } } }
public void It_Doesnt_Get_Exceptions_While_Processing_Lots_Of_Events_For_The_Same_Player() { //--arrange //--act var playedGameEvent = new PlayedGameCreatedEvent { //--any playedGame from the integration test base should be sufficient to generate at least one achievement TriggerEntityId = testPlayedGames[0].Id }; var taskList = new List<Task<bool>>(); var dataContexts = new List<NemeStatsDataContext>(); int NUMBER_OF_CALLS = 3; for (int i = 0; i < NUMBER_OF_CALLS; i++) { var dataContext = new NemeStatsDataContext(); dataContexts.Add(dataContext); } for (int i = 0; i < NUMBER_OF_CALLS; i++) { var achievementsEventHandler = new AchievementsEventHandler(dataContexts[i], MockRepository.GenerateMock<IRollbarClient>()); var lastTask = new Task<bool>(() => achievementsEventHandler.Handle(playedGameEvent)); lastTask.Start(); taskList.Add(lastTask); } try { if (taskList.Any(task => !task.Result)) { throw new AssertionException("There was an exception from one of the tasks."); } } finally { foreach (var dataContext in dataContexts) { try { dataContext.Dispose(); } catch (Exception) { //squish } } } }