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); }
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); }
/// <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"); }
public void FlightMatrixQueryInteractor_Ctor_HappyPath() { var fmqInteractor = new FlightMatrixQueryInteractor(mockFlightMatrixRepository.Object, mockLogger.Object); }
public void FlightMatrixQueryInteractor_Ctor_NullLoggerParameter() { var fmqInteractor = new FlightMatrixQueryInteractor(mockFlightMatrixRepository.Object, null); }
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; }