Exemple #1
0
        public SchedulesController()
        {
            var systemTime     = new SystemTime();
            var httpClient     = new HttpClient();
            var client         = new Client(httpClient);
            var scraper        = new Scraper(systemTime, client);
            var serializer     = new ScrapeResultSerializer();
            var pathBuilder    = new PathBuilder();
            var storageClient  = new StorageClient(systemTime, pathBuilder);
            var uniqueClient   = new UniqueClient(storageClient);
            var statusRecorder = new UploadStatusRecorder(storageClient, systemTime);

            _scrapeResultRecorder          = new ScrapeResultRecorder(scraper, serializer, storageClient, uniqueClient, statusRecorder);
            _throttledScrapeResultRecorder = new ThrottledScrapeResultRecorder(systemTime, _scrapeResultRecorder);
            var gtfsConverter      = new GtfsConverter();
            var gtfsCsvSerializer  = new GtfsCsvSerializer();
            var gtfsFeedSerializer = new GtfsFeedSerializer(gtfsCsvSerializer);

            _gtfsFeedArchiveRecord = new GtfsFeedArchiveRecorder(storageClient, uniqueClient, gtfsConverter, gtfsFeedSerializer, statusRecorder);
            var settingsService = new SettingsProvider();

            _settings = new Settings(settingsService);
        }
        private static async Task VerifyExpectedFileNames(bool groupAmPm)
        {
            // Arrange
            var feed = await TestData.GetGtfsFeedAsync(groupAmPm);

            var csvSerializer = new GtfsCsvSerializer();
            var target        = new GtfsFeedSerializer(csvSerializer);

            using (var stream = new MemoryStream())
            {
                // Act
                await target.SerializeAsync(stream, feed);

                // Assert
                stream.Seek(0, SeekOrigin.Begin);
                using (var zipArchive = new ZipArchive(stream, ZipArchiveMode.Read))
                {
                    var fullNames = zipArchive.Entries.Select(e => e.FullName).OrderBy(e => e).ToList();
                    Assert.Equal(
                        new[] { "agency.txt", "calendar.txt", "routes.txt", "shapes.txt", "stop_times.txt", "stops.txt", "trips.txt" },
                        fullNames);
                }
            }
        }