public async Task PilotQueryInteractor_GetPilotAsync_NullParameters()
        {
            var pilotQueryInteractor = new PilotQueryInteractor(mockPilotRepository.Object, mockLogger.Object);
            var result = await pilotQueryInteractor.GetPilotAsync(string.Empty);

            Assert.IsTrue(result.IsFaulted);
        }
        public async Task PilotQueryInteractor_GetAllPilotsAsync_RepositoryFailure_ReturnsNull()
        {
            mockPilotRepository.Setup(p => p.ReadAsync()).Returns(Task.FromResult(new Result <IEnumerable <Pilot> >(null)));

            var pilotQueryInteractor = new PilotQueryInteractor(mockPilotRepository.Object, mockLogger.Object);
            var result = await pilotQueryInteractor.GetAllPilotsAsync();

            Assert.IsTrue(result.IsFaulted);
            Assert.IsNull(result.Value);
        }
        public async Task PilotQueryInteractor_GetAllPilotsAsync_RepositoryFailure_Exception()
        {
            var exceptionMessage = "Derp";

            mockPilotRepository.Setup(p => p.ReadAsync()).Throws(new Exception(exceptionMessage));
            var pilotQueryInteractor = new PilotQueryInteractor(mockPilotRepository.Object, mockLogger.Object);

            var result = await pilotQueryInteractor.GetAllPilotsAsync();

            Assert.IsTrue(result.IsFaulted);
            Assert.IsNull(result.Value);
            Assert.IsNotNull(result.Error.Exception);
            Assert.AreEqual(exceptionMessage, result.Error.ErrorMessage);
        }
        public async Task PilotQueryInteractor_GetPilotAsync_RepositoryFailure_ReturnsNull()
        {
            var id        = "dlfw23efsdfl";
            var fName     = "Rick";
            var lName     = "R";
            var amaNumber = "23423940";
            var airFrame  = "Snipe 2";

            var pilot = new Pilot(fName, lName, id, amaNumber, airFrame);

            mockPilotRepository.Setup(p => p.ReadAsync(It.IsAny <string>())).Returns(Task.FromResult(new Result <Pilot>(null)));
            var pilotQueryInteractor = new PilotQueryInteractor(mockPilotRepository.Object, mockLogger.Object);

            var result = await pilotQueryInteractor.GetPilotAsync(id);

            Assert.IsTrue(result.IsFaulted);
            Assert.IsNull(result.Value);
        }
Пример #5
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");
 }
        public async Task PilotQueryInteractor_GetPilotAsync_HappyPath()
        {
            var id        = "sdflkwjrw";
            var fName     = "Rick";
            var lName     = "R";
            var amaNumber = "23423940";
            var airFrame  = "Snipe 2";

            var pilot = new Pilot(fName, lName, id, amaNumber, airFrame);

            mockPilotRepository.Setup(p => p.ReadAsync(It.IsAny <string>())).Returns(Task.FromResult(new Result <Pilot>(pilot)));
            var pilotQueryInteractor = new PilotQueryInteractor(mockPilotRepository.Object, mockLogger.Object);

            var result = await pilotQueryInteractor.GetPilotAsync(id);

            Assert.IsFalse(result.IsFaulted);
            Assert.IsNotNull(result.Value);
            Assert.AreEqual(id, result.Value.Id);
            Assert.AreEqual(fName, result.Value.FirstName);
            Assert.AreEqual(lName, result.Value.LastName);
            Assert.AreEqual(amaNumber, result.Value.StandardsBodyId);
            Assert.AreEqual(airFrame, result.Value.Airframe);
        }
        public async Task PilotQueryInteractor_GetAllPilotsAsync_HappyPath()
        {
            var id        = "235dsfkjsdfwi";
            var fName     = "Rick";
            var lName     = "R";
            var amaNumber = "23423940";
            var airFrame  = "Snipe 2";

            var pilot  = new Pilot(fName, lName, id, amaNumber, airFrame);
            var pilot2 = new Pilot("Sam", "Snead", "23dsfsdf", "1234", "Gambler");
            var pilots = new List <Pilot> {
                pilot, pilot2
            };

            mockPilotRepository.Setup(c => c.ReadAsync()).Returns(Task.FromResult(new Result <IEnumerable <Pilot> >(pilots)));

            var pilotQueryInteractor = new PilotQueryInteractor(mockPilotRepository.Object, mockLogger.Object);
            var result = await pilotQueryInteractor.GetAllPilotsAsync();

            Assert.IsFalse(result.IsFaulted);
            Assert.IsNotNull(result.Value);
            Assert.AreEqual(2, result.Value.Count());
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="FlightGroupController"/> class.
 /// </summary>
 /// <param name="contestStorageCmdInteractor">The contest storage command interactor.</param>
 /// <param name="pilotStorageCmdInteractor">The pilot storage command interactor.</param>
 public FlightGroupController(ContestQueryInteractor contestQueryInteractor, PilotQueryInteractor pilotQueryInteractor)
 {
     this.contestQueryInteractor = contestQueryInteractor;
     this.pilotQueryInteractor   = pilotQueryInteractor;
 }