private void ANewNoopConverter()
        {
            var fileSystem = new MockFileSystem();

            _converter = new NoopConverter(fileSystem);
        }
Exemple #2
0
        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());
                    }
                }
            }
        }