public void ProcessorReturnsExpectedResults(IPassengerProcessor processor, PassengerProcessorContext passengerProcessorContext, PassengerFlightLogistics expectedPassengerFlightLogistics) { var result = processor.Process(passengerProcessorContext); result.ExpectedBaggage.ShouldBe(expectedPassengerFlightLogistics.ExpectedBaggage); result.ProfitFromFlight.ShouldBe(expectedPassengerFlightLogistics.ProfitFromFlight); result.LoyaltyPointsRedeemed.ShouldBe(expectedPassengerFlightLogistics.LoyaltyPointsRedeemed); result.LoyaltyPointsAccrued.ShouldBe(expectedPassengerFlightLogistics.LoyaltyPointsAccrued); }
public void SetUp() { _passengerProcessorFactory = Substitute.For <IPassengerProcessorFactory>(); _passengerProcessorContextProvider = Substitute.For <IPassengerProcessorContextProvider>(); _passengerProcessor = Substitute.For <IPassengerProcessor>(); var passengerFlightLogistics = AnyPassengerFlightLogistics(); _passengerProcessor.Process(Arg.Any <PassengerProcessorContext>()).Returns(passengerFlightLogistics); var passengerProcessorContext = new PassengerProcessorContext() { FlightRoute = FlightRoute, Passenger = new Passenger() }; _passengerProcessorContextProvider.GetPassengerProcessorContext(Arg.Any <Passenger>(), FlightRoute).Returns(passengerProcessorContext); _passengerProcessorFactory.GetProcessor(Arg.Any <PassengerType>()).Returns(_passengerProcessor); _scheduledFlightSummaryCalculator = new ScheduledFlightSummaryCalculator(_passengerProcessorFactory, _passengerProcessorContextProvider); }