Example #1
0
        public async Task ScoringStorageCmdInteractor_SaveRoundScores_BadScores_BadPilotId()
        {
            List <TimeSheet> pilotScores = GenerateValidTimeSheets(10);

            var timeGates = new List <TimeGate> {
                new TimeGate(TimeSpan.MinValue, 0, TimeGateType.Task)
            };
            var taskB = new TaskB_LastTwoFlights4MinMax();

            var roundScore = new TimeSheet
            {
                RoundOrdinal = 8,
                TimeGates    = timeGates,
                PilotId      = null,
                ContestId    = "asdfawewrs",
                TaskId       = taskB.Id,
                FlightGroup  = FlightGroup.A
            };

            pilotScores[7] = roundScore;

            var scoringCmdInteractor = new ScoringStorageCmdInteractor(mockScoringRepository.Object, mockLogger.Object);
            var result = await scoringCmdInteractor.SaveRoundScoresAsync(pilotScores, "234234");

            Assert.IsTrue(result.IsFaulted);
            Assert.IsNotNull(result.Error);
            Assert.IsNotNull(result.Error.ErrorMessage);
        }
        /// <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);
        }
Example #3
0
        public async Task ScoringStorageCmdInteractor_SaveRoundScores_HappyPath()
        {
            List <TimeSheet> pilotScores = GenerateValidTimeSheets(10);

            var timeGates = new List <TimeGate> {
                new TimeGate(TimeSpan.MinValue, 0, TimeGateType.Task)
            };
            var taskB = new TaskB_LastTwoFlights4MinMax();

            mockScoringRepository.Setup(sr => sr.CreateAsync(It.IsAny <IEnumerable <TimeSheet> >())).Returns(Task.FromResult(new Result <IEnumerable <TimeSheet> >(pilotScores)));

            var scoringCmdInteractor = new ScoringStorageCmdInteractor(mockScoringRepository.Object, mockLogger.Object);
            var result = await scoringCmdInteractor.SaveRoundScoresAsync(pilotScores, "234234");

            Assert.IsFalse(result.IsFaulted);
            Assert.IsNull(result.Error);
            Assert.IsNotNull(result.Value);
            Assert.AreEqual(10, result.Value.Count());
        }
        /// <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
        }