private void ANewNoopConverter() { var fileSystem = new MockFileSystem(); _converter = new NoopConverter(fileSystem); }
public override string RawToConsoleText(Stream zipStream) { var stringBuilder = new StringBuilder(); using (var memoryStream = new MemoryStream()) { zipStream.CopyTo(memoryStream); memoryStream.Seek(0, SeekOrigin.Begin); using (var binaryReader = new BinaryReader(memoryStream)) { binaryReader.ReadBytes(4); var len1 = binaryReader.ReadInt32(); var zip1 = binaryReader.ReadBytes(len1); var len2 = binaryReader.ReadInt32(); var xml1 = binaryReader.ReadBytes(len2); var len3a = binaryReader.ReadInt32(); binaryReader.ReadBytes(4); var len3b = binaryReader.ReadInt32(); if (len3a - len3b != 34) { throw new Exception("TODO"); } var xml2 = binaryReader.ReadBytes(len3a); var extra = binaryReader.ReadBytes((int)(memoryStream.Length - memoryStream.Position)); using (var zip1Stream = new MemoryStream(zip1)) { zip1Stream.Seek(0, SeekOrigin.Begin); var order = new List <string>(); using (var zip = new ZipArchive(zip1Stream, ZipArchiveMode.Read)) { foreach (var zipArchiveEntry in zip.Entries) { order.Add(zipArchiveEntry.FullName); var converter = FindConverter(zipArchiveEntry.FullName); var text = converter.WriteRawToConsoleText(zipArchiveEntry.Open()); stringBuilder.AppendLine("Filename: " + zipArchiveEntry.FullName); stringBuilder.AppendLine(text); } } } using (var xmlStream1 = new MemoryStream(xml1)) { var xmlString1 = new XMLConverter(new UTF8Encoding(false), _fileSystem, false).WriteRawToConsoleText(xmlStream1); stringBuilder.AppendLine("DataMashup -> XML Block 1"); stringBuilder.AppendLine(xmlString1); } using (var xmlStream2 = new MemoryStream(xml2)) { var xmlString2 = new XMLConverter(new UTF8Encoding(false), _fileSystem, false).WriteRawToConsoleText(xmlStream2); stringBuilder.AppendLine("DataMashup -> XML Block 2"); stringBuilder.AppendLine(xmlString2); } using (var extraStream = new MemoryStream(extra)) { var extraContentString = new NoopConverter(_fileSystem).WriteRawToConsoleText(extraStream); stringBuilder.AppendLine("DataMashup -> Extra Content"); stringBuilder.AppendLine(extraContentString); return(stringBuilder.ToString()); } } } }