public void RemovedBrokenAssocationStops()
        {
            var service = TestSchedules.CreateServiceWithAssociation();

            Assert.True(service.HasAssociations());
            service.Associations[0].AsDynamic().Stop = null;
            var stop = TestSchedules.CreateResolvedDepartureStop(service);

            var notBroken = FilterBroken(new [] { stop });

            Assert.False(notBroken[0].Service.HasAssociations());
        }
Пример #2
0
        public async Task DeparturesNowSetsReturnedCancelledFlag()
        {
            var returnedStop = TestSchedules.CreateResolvedDepartureStop(isCancelled: true);
            var data         = CreateStubDataWithFindDepartures(returnedStops:  new [] { returnedStop });
            var controller   = new DeparturesController(data, FilterFactory, _config.CreateMapper(), Substitute.For <ILogger>());
            var response     = await controller.Departures("SUR", returnCancelledServices : true) as ObjectResult;

            Assert.Equal(200, response.StatusCode);
            var services = response.Value as Model.FoundSummaryResponse;

            Assert.Single(services.Services);
            Assert.True(services.Services[0].Service.IsCancelled);
        }
        public void BrokenAssociationsNotRemovedFromStopsIfReturningDebugResponses()
        {
            var service1 = TestSchedules.CreateServiceWithAssociation();
            var stop1    = TestSchedules.CreateResolvedDepartureStop(service1);

            Assert.True(stop1.Service.HasAssociations());
            service1.Associations[0].AsDynamic().Stop = null;
            var service2 = TestSchedules.CreateService("Z98765");
            var stop2    = TestSchedules.CreateResolvedDepartureStop(service2);

            var filters  = new ServiceFilters(true, Substitute.For <ILogger>());
            var filtered = filters.Filter(new [] { stop1, stop2 }, true);

            Assert.True(stop1.Service.HasAssociations());
        }
        public void FilterStopsAlsoRemovesBrokenAssociations()
        {
            var service1 = TestSchedules.CreateServiceWithAssociation();
            var stop1    = TestSchedules.CreateResolvedDepartureStop(service1);

            Assert.True(stop1.Service.HasAssociations());
            service1.Associations[0].AsDynamic().Stop = null;
            var service2 = TestSchedules.CreateService("Z98765");
            var stop2    = TestSchedules.CreateResolvedDepartureStop(service2);

            var filters  = CreateFilter();
            var filtered = filters.Filter(new [] { stop1, stop2 }, true);

            Assert.False(stop1.Service.HasAssociations());
        }
Пример #5
0
        private static ILocationData CreateStubDataWithFindDepartures(string atLocation          = null, DateTime?atTime = null,
                                                                      GatherConfiguration config = null, FindStatus returnedStatus = FindStatus.Success, ResolvedServiceStop[] returnedStops = null)
        {
            atLocation    = atLocation ?? Arg.Any <string>();
            atTime        = atTime ?? Arg.Any <DateTime>();
            config        = config ?? Arg.Any <GatherConfiguration>();
            returnedStops = returnedStops ?? new [] { TestSchedules.CreateResolvedDepartureStop() };

            var data = Substitute.For <ILocationData>();

            data.FindDepartures(atLocation, atTime.Value, config)
            .Returns((returnedStatus, returnedStops));
            data.Filters
            .Returns(Timetable.Test.Data.Filters.Instance);
            return(data);
        }
        public void MultipleDepartureStopsCancelled()
        {
            ResolvedServiceStop[] services =
            {
                TestSchedules.CreateResolvedDepartureStop("A98765"),
                TestSchedules.CreateResolvedDepartureStop(isCancelled: true),
                TestSchedules.CreateResolvedDepartureStop("Z12345"),
                TestSchedules.CreateResolvedDepartureStop("X98765", isCancelled: true)
            };

            var notCancelled = FilterCancelled(services);

            Assert.Equal(2, notCancelled.Length);
            Assert.Contains(services[0], notCancelled);
            Assert.Contains(services[2], notCancelled);
        }
        public void DedupMultipleDifferentDepartureStops()
        {
            ResolvedServiceStop[] services =
            {
                TestSchedules.CreateResolvedDepartureStop("A98765"),
                TestSchedules.CreateResolvedDepartureStop(isCancelled: true),
                TestSchedules.CreateResolvedDepartureStop("Z12345"),
                TestSchedules.CreateResolvedDepartureStop("X98765", isCancelled: true)
            };

            var deduped = Deduplicate(services);

            Assert.Equal(2, deduped.Length);
            Assert.Contains(services[0], deduped);
            Assert.Contains(services[2], deduped);
        }
 private ResolvedServiceStop CreateClaphamResolvedStop(bool isCancelled = false)
 {
     return(TestSchedules.CreateResolvedDepartureStop(atLocation: TestStations.ClaphamJunction, when: TestSchedules.TenSixteen, isCancelled: isCancelled));
 }