public PassengerProcessorFactory(IPassengerProcessorsProvider passengerProcessorProvider)
        {
            _processors = passengerProcessorProvider.GetProcessors();

            var passengerTypes = Enum.GetValues(typeof(PassengerType)).Cast <PassengerType>();

            var registeredProcessorTypes = _processors.Keys.ToList();

            var dif = passengerTypes.Except(registeredProcessorTypes).ToList();

            if (dif.Any())
            {
                throw new ArgumentException("Passenger type(s) without passenger processor implementations: " + string.Join(",", dif.Select(t => t.ToString())));
            }
        }
 public void SetUp()
 {
     _passengerProcessorProvider = Substitute.For <IPassengerProcessorsProvider>();
 }