public void Initialize()
 {
     _locationProvider           = Substitute.For <IProvideLocation>();
     _cabProvider                = Substitute.For <IProvideCab>();
     _timeProvider               = Substitute.For <IProvideTime>();
     _trafficInformationProvider = Substitute.For <IProvideTrafficInformation>();
 }
Example #2
0
        public void Initialize()
        {
            // Create test data
            _customerId       = _fixture.Create <Id <Customer> >();
            _customerLocation = _fixture.Create <Location>();

            _cab = _fixture.Create <Cab>();
            _trainStationLocation   = _fixture.Create <Location>();
            _currentTime            = _fixture.Create <DateTime>();
            _estimatedTimeOfArrival = _currentTime.AddMinutes(_fixture.Create <int>());

            // Setup stubs
            _locationProvider = Substitute.For <IProvideLocation>();
            _locationProvider.GetTrainStationLocation().Returns(_trainStationLocation);

            _cabProvider = Substitute.For <IProvideCab>();
            _cabProvider.GetNearestAvailableCab(Arg.Any <Location>()).Returns(_cab);

            _timeProvider = Substitute.For <IProvideTime>();
            _timeProvider.GetCurrentTime().Returns(_currentTime);

            _trafficInformationProvider = Substitute.For <IProvideTrafficInformation>();
            _trafficInformationProvider.GetTimeOfArival(Arg.Any <DateTime>(), Arg.Any <Kilometer>()).Returns(_estimatedTimeOfArrival);
            _trafficInformationProvider.GetDistanceBetweenLocations(Arg.Any <Location>(), Arg.Any <Location>()).Returns(_fixture.Create <Kilometer>());

            // Create subject under test
            _sut = new CabRideService(_locationProvider, _cabProvider, _timeProvider, _trafficInformationProvider);
        }
Example #3
0
        public InMemoryTransactionStoreTests()
        {
            timeProvider = A.Fake <IProvideTime>();
            A.CallTo(() => timeProvider.TodayAsString()).Returns(Today);

            transactionStore = new InMemoryTransactionStore(timeProvider);
        }
Example #4
0
        public BankStatementPrint()
        {
            textPrinter  = A.Fake <IPrintText>();
            timeProvider = A.Fake <IProvideTime>();

            var transactionStore = new InMemoryTransactionStore(timeProvider);
            var statementPrinter = new BankStatementPrinter(textPrinter);

            account = new Account(transactionStore, statementPrinter);
        }
 public CabRideService(IProvideLocation locationProvider,
                       IProvideCab cabProvider,
                       IProvideTime timeProvider,
                       IProvideTrafficInformation trafficInformationProvider)
 {
     _locationProvider           = locationProvider ?? throw new ArgumentNullException(nameof(locationProvider));
     _cabProvider                = cabProvider ?? throw new ArgumentNullException(nameof(cabProvider));
     _timeProvider               = timeProvider ?? throw new ArgumentNullException(nameof(timeProvider));
     _trafficInformationProvider = trafficInformationProvider ?? throw new ArgumentNullException(nameof(trafficInformationProvider));
 }
        public void WhenTimeProviderNull_ShouldThrowArgumentNullException()
        {
            // Arrange
            IProvideTime timeProvider = null;

            // Act
            Action act = () => new CabRideService(_locationProvider, _cabProvider, timeProvider, _trafficInformationProvider);

            // Assert
            act.Should().Throw <ArgumentNullException>();
        }
Example #7
0
 public InMemoryTransactionStore(IProvideTime timeProvider)
 {
     this.timeProvider = timeProvider;
 }