/// <summary>
        /// Initializes a new instance of the <see cref="TaskRepository" /> class.
        /// </summary>
        public TaskRepository()
        {
            var taskA  = new TaskA_LastFlightSevenMin();
            var taskB  = new TaskB_LastTwoFlights4MinMax();
            var taskC  = new TaskC_AllUpLastDown(3);
            var taskC4 = new TaskC_AllUpLastDown(4);
            var taskC5 = new TaskC_AllUpLastDown(5);
            var taskD  = new TaskD_Ladder();
            var taskE  = new TaskE_Poker();
            var taskF  = new TaskF_BestThreeOutOfSix();
            var taskG  = new TaskG_FiveTwos();
            var taskH  = new TaskH_FourThreeTwoOne();
            var taskI  = new TaskI_ThreeThreeTwenties();
            var taskJ  = new TaskJ_LastThree();

            this.internalCache.Add(taskA.Id, taskA);
            this.internalCache.Add(taskB.Id, taskB);
            this.internalCache.Add(taskC.Id, taskC);
            this.internalCache.Add(taskC4.Id, taskC4);
            this.internalCache.Add(taskC5.Id, taskC5);
            this.internalCache.Add(taskD.Id, taskD);
            this.internalCache.Add(taskE.Id, taskE);
            this.internalCache.Add(taskF.Id, taskF);
            this.internalCache.Add(taskG.Id, taskG);
            this.internalCache.Add(taskH.Id, taskH);
            this.internalCache.Add(taskI.Id, taskI);
            this.internalCache.Add(taskJ.Id, taskJ);
        }
        public void ScoringRoundScoreInteractor_ScoreRound_NullTimeCardsParam()
        {
            var taskG  = new TaskG_FiveTwos();
            var sci    = new ScoringRoundScoreInteractor(mockRoundScoringAlgo.Object, mockLogger.Object);
            var result = sci.ScoreRound(null, taskG);

            Assert.IsTrue(result.IsFaulted);
            Assert.IsNotNull(result.Error);
            Assert.IsNotNull(result.Error.ErrorMessage);
        }
        public void F3KRoundScoringAlgo_ScoreRound_BadPilotIdParam()
        {
            var timeSheets = ScoringTestHelpers.GenerateValidTimeSheets(10);

            timeSheets[3].PilotId = null;

            var taskG = new TaskG_FiveTwos();
            var f3KRoundScoringAlgo = new RoundScoringAlgo();

            f3KRoundScoringAlgo.ScoreRound(timeSheets, taskG);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="TaskRepository" /> class.
        /// </summary>
        public TaskRepository()
        {
            var taskA  = new TaskA_LastFlightSevenMin();
            var taskB  = new TaskB_LastTwoFlights4MinMax();
            var taskC  = new TaskC_AllUpLastDown(3);
            var taskC4 = new TaskC_AllUpLastDown(4);
            var taskC5 = new TaskC_AllUpLastDown(5);
            var taskD  = new TaskD_Ladder();
            var taskE  = new TaskE_Poker();
            var taskF  = new TaskF_BestThreeOutOfSix();
            var taskG  = new TaskG_FiveTwos();
            var taskH  = new TaskH_FourThreeTwoOne();
            var taskI  = new TaskI_ThreeThreeTwenties();
            var taskJ  = new TaskJ_LastThree();
            var taskK  = new TaskK_BigLadder();


            this.internalCache.Add(taskA.Id, taskA);
            this.internalCache.Add(taskB.Id, taskB);
            this.internalCache.Add(taskC.Id, taskC);
            this.internalCache.Add(taskC4.Id, taskC4);
            this.internalCache.Add(taskC5.Id, taskC5);
            this.internalCache.Add(taskD.Id, taskD);
            this.internalCache.Add(taskE.Id, taskE);
            this.internalCache.Add(taskF.Id, taskF);
            this.internalCache.Add(taskG.Id, taskG);
            this.internalCache.Add(taskH.Id, taskH);
            this.internalCache.Add(taskI.Id, taskI);
            this.internalCache.Add(taskJ.Id, taskJ);
            this.internalCache.Add(taskK.Id, taskK);

// Add in a task that runs quick for debugging.
#if DEBUG
            var taskT = new TaskT_TestTask();
            this.internalCache.Add(taskT.Id, taskT);
#endif
        }