Example #1
0
        public async Task FlightMatrixQueryInteractor_GetFlightMatrixForContest_BadContestParameter()
        {
            var fmqInteractor = new FlightMatrixQueryInteractor(mockFlightMatrixRepository.Object, mockLogger.Object);
            var result        = await fmqInteractor.GetFlightMatrixForContest(string.Empty);

            Assert.IsTrue(result.IsFaulted);
        }
Example #2
0
        public async Task FlightMatrixQueryInteractor_GetFlightMatrixForContest_HappyPath()
        {
            var contestId = "dfklewrowidf";

            var flightMatrix = new FlightMatrix
            {
                ContestId = contestId,
                Matrix    = new List <FlightMatrixRound>
                {
                    new FlightMatrixRound
                    {
                        RoundOrdinal = 0,
                        PilotSlots   = new List <FlightMatrixPilotSlot>
                        {
                            new FlightMatrixPilotSlot
                            {
                                PilotId     = "sdfsf",
                                FlightGroup = FlightGroup.A
                            }
                        }
                    }
                }
            };

            mockFlightMatrixRepository.Setup(fmqr => fmqr.ReadAsync(contestId)).Returns(Task.FromResult(new Result <FlightMatrix>(flightMatrix)));
            var fmqInteractor = new FlightMatrixQueryInteractor(mockFlightMatrixRepository.Object, mockLogger.Object);
            var result        = await fmqInteractor.GetFlightMatrixForContest(contestId);

            Assert.IsFalse(result.IsFaulted);
            Assert.AreEqual(contestId, result.Value.ContestId);
            Assert.IsNotNull(result.Value.Matrix);
            Assert.AreEqual(1, result.Value.Matrix.Count);
        }
Example #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="F3KContestEngine" /> class.
 /// </summary>
 /// <param name="taskQueryInteractor">The task query interactor.</param>
 /// <param name="contestStorageCmdIntr">The contest storage command intr.</param>
 /// <param name="scoringStorageCmdIntr">The scoring storage command intr.</param>
 /// <param name="logger">The logger.</param>
 public F3KContestEngine(TaskQueryInteractor taskQueryInteractor,
                         ContestStorageCmdInteractor contestStorageCmdIntr,
                         ScoringStorageCmdInteractor scoringStorageCmdIntr,
                         ScoringQueryInteractor scoringQueryInteractor,
                         ScoringContestScoreAggInteractor scoringContestScoreAggIntr,
                         FlightMatrixStorageCmdInteractor flightMatrixStorageCmdIntr,
                         FlightMatrixQueryInteractor flightMatrixQueryIntr,
                         PilotQueryInteractor pilotQueryInteractor,
                         ISortingAlgo sortingAlgo,
                         IFlyOffSelectionAlgo flyOffAlgo,
                         ILoggingService logger) : base(contestStorageCmdIntr, scoringStorageCmdIntr)
 {
     this.taskQueryInteractor        = taskQueryInteractor ?? throw new ArgumentNullException($"{nameof(F3KContestEngine)}:Ctor - {nameof(taskQueryInteractor)} cannot be null");
     this.scoringQueryInteractor     = scoringQueryInteractor ?? throw new ArgumentNullException($"{nameof(F3KContestEngine)}:Ctor - {nameof(scoringQueryInteractor)} cannot be null");
     this.scoringContestScoreAggIntr = scoringContestScoreAggIntr ?? throw new ArgumentNullException($"{nameof(F3KContestEngine)}:Ctor - {nameof(scoringContestScoreAggIntr)} cannot be null");
     this.flightMatrixQueryIntr      = flightMatrixQueryIntr ?? throw new ArgumentNullException($"{nameof(F3KContestEngine)}:Ctor - {nameof(flightMatrixQueryIntr)} cannot be null");
     this.flightMatrixStorageCmdIntr = flightMatrixStorageCmdIntr ?? throw new ArgumentNullException($"{nameof(F3KContestEngine)}:Ctor - {nameof(flightMatrixStorageCmdIntr)} cannot be null");
     this.pilotQueryInteractor       = pilotQueryInteractor ?? throw new ArgumentNullException($"{nameof(F3KContestEngine)}:Ctor - {nameof(pilotQueryInteractor)} cannot be null");
     this.sortingAlgo       = sortingAlgo ?? throw new ArgumentNullException($"{nameof(F3KContestEngine)}:Ctor - {nameof(sortingAlgo)} cannot be null");
     this.flyOffPilotPicker = flyOffAlgo ?? throw new ArgumentException($"{nameof(F3KContestEngine)}:Ctor - {nameof(flyOffAlgo)} cannot be null");
     this.logger            = logger ?? throw new ArgumentNullException($"{nameof(F3KContestEngine)}:Ctor - {nameof(logger)} cannot be null");
 }
Example #4
0
 public void FlightMatrixQueryInteractor_Ctor_HappyPath()
 {
     var fmqInteractor = new FlightMatrixQueryInteractor(mockFlightMatrixRepository.Object, mockLogger.Object);
 }
Example #5
0
 public void FlightMatrixQueryInteractor_Ctor_NullLoggerParameter()
 {
     var fmqInteractor = new FlightMatrixQueryInteractor(mockFlightMatrixRepository.Object, null);
 }
Example #6
0
 public void FlightMatrixQueryInteractor_Ctor_NullRepositoryParameter()
 {
     var fmqInteractor = new FlightMatrixQueryInteractor(null, mockLogger.Object);
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="FlightMatrixController"/> class.
 /// </summary>
 /// <param name="flightMatrixStorageCmdInteractor">The flight matrix storage command interactor.</param>
 /// <param name="flightMatrixQueryInteractor">The flight matrix query interactor.</param>
 public FlightMatrixController(FlightMatrixStorageCmdInteractor flightMatrixStorageCmdInteractor,
                               FlightMatrixQueryInteractor flightMatrixQueryInteractor)
 {
     this.flightMatrixStorageCmdInteractor = flightMatrixStorageCmdInteractor;
     this.flightMatrixQueryInteractor      = flightMatrixQueryInteractor;
 }