Exemple #1
0
        public async Task FlightMatrixCommandInteractor_SaveFlightMatrixForContestAsync_HappyPath()
        {
            var flightMatrix = new FlightMatrix
            {
                ContestId = "sdfasdf"
            };

            flightMatrix.Matrix.Add(new FlightMatrixRound
            {
                RoundOrdinal = 0,
                PilotSlots   = new List <FlightMatrixPilotSlot>
                {
                    new FlightMatrixPilotSlot
                    {
                        PilotId     = "sadfxcvcxasdf",
                        FlightGroup = FlightGroup.A
                    }
                }
            });

            mockFlightMatrixRepository.Setup(f => f.CreateAsync(It.IsAny <FlightMatrix>())).Returns <FlightMatrix>(x => Task.FromResult(new Result <FlightMatrix>(flightMatrix)));

            var flightMatrixCmdInteractor = new FlightMatrixStorageCmdInteractor(mockFlightMatrixRepository.Object, mockLogger.Object);
            var result = await flightMatrixCmdInteractor.SaveFlightMatrixForContestAsync(flightMatrix);

            Assert.IsFalse(result.IsFaulted);
            Assert.IsNotNull(result.Value);
        }
Exemple #2
0
        public async Task FlightMatrixCommandInteractor_SaveFlightMatrixForContestAsync_NullParameters()
        {
            var flightMatrixCmdInteractor = new FlightMatrixStorageCmdInteractor(mockFlightMatrixRepository.Object, mockLogger.Object);
            var result = await flightMatrixCmdInteractor.SaveFlightMatrixForContestAsync(null);

            Assert.IsTrue(result.IsFaulted);
            Assert.IsNull(result.Value);
        }
Exemple #3
0
        public async Task FlightMatrixCommandInteractor_SaveFlightMatrixForContestAsync_NoPilotsInMatrix()
        {
            var flightMatrix = new FlightMatrix
            {
                ContestId = "234234"
            };

            var flightMatrixCmdInteractor = new FlightMatrixStorageCmdInteractor(mockFlightMatrixRepository.Object, mockLogger.Object);
            var result = await flightMatrixCmdInteractor.SaveFlightMatrixForContestAsync(flightMatrix);

            Assert.IsTrue(result.IsFaulted);
            Assert.IsNull(result.Value);
        }
Exemple #4
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");
 }
 /// <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;
 }