public void ShouldDecompress() { // Arrange var file = new byte[16 + 10 + 16 + 2] { /* compressedSize */ 10, 0, 0, 0, /* source.offset */ 0, 0, 0, 0, 0, 0, 0, 0, /* source.size */ 10, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, /* compressedSize */ 2, 0, 0, 0, /* source.offset */ 10, 0, 0, 0, 0, 0, 0, 0, /* source.size */ 2, 0, 0, 0, 11, 12 }; var reader = new InmemoryReader(file); var decompressor = new PassThroughDecompressor(); var output = new byte[12]; var writer = new InmemoryWriter(output); var fileDecompressor = new FileDecompressor( new DecompressionInfoGenerator(reader), reader, decompressor, writer); // Act fileDecompressor.Execute(); // Assert Assert.Equal(Enumerable.Range(1, 12).Select(i => (byte)i), output); }
static void Main(string[] args) { //Parse program arguments var parser = new TransitDataBackend(); parser.ParseArguments(args); TransitDataBackend.Logging("Starting Program", true); if (downloadRemoteFiles) { TransitDataBackend.Logging("Starting Download Manager", true); var manager = new FtpDownloadManager(); manager.FtpDownloader(detailedLogging); var decompressor = new FileDecompressor(); TransitDataBackend.Logging("Starting Decompression", true); string filePath = @"D:\home\site\wwwroot\google_transit\google_transit.zip"; string extractPath = @"D:\home\site\wwwroot\google_transit\"; decompressor.DecompressFile(filePath, extractPath, detailedLogging); } //not needed as we are using bulk upload //TransitDataBackend.Logging("Starting SQL Insert", true); //var dataloader = new SqlInsert(); //dataloader.LoadDataIntoRouteTable(detailedLogging); //truncate the destination table before upload TransitDataBackend.Logging("Starting Data Uploader", true); //now upload var dataUploader = new DataUploader(detailedLogging); dataUploader.LoadData(detailedLogging, fileToUpload, numberOfUploadTries); }