private void ConvertResourceToXml() { string inputFileName = arguments[0]; string outputFileName = inputFileName + ".xml"; var reader = new MetaReader(); var meta = reader.Read(inputFileName); var exporter = new MetaXmlExporter(); exporter.HashMapping = new Dictionary <int, string>(); AddHashForStrings(exporter, "MetaTool.Lists.FileNames.txt"); AddHashForStrings(exporter, "MetaTool.Lists.MetaNames.txt"); exporter.Export(meta, outputFileName); }
private void AddHashForStrings(MetaXmlExporter exporter, string resourceFileName) { var assembly = Assembly.GetExecutingAssembly(); using (Stream namesStream = assembly.GetManifestResourceStream(resourceFileName)) using (StreamReader namesReader = new StreamReader(namesStream)) { while (!namesReader.EndOfStream) { string name = namesReader.ReadLine(); uint hash = Jenkins.Hash(name); if (!exporter.HashMapping.ContainsKey((int)hash)) { exporter.HashMapping.Add((int)hash, name); } } } }
public void Export_Always_CorrectlyExportsXml() { var exporter = new MetaXmlExporter(); var xmlStream = new MemoryStream(); var rootStructure = TestDataset.MakeDataset(); exporter.Export(rootStructure, xmlStream); var assembly = Assembly.GetExecutingAssembly(); var expectedDocument = new XmlDocument(); using (var expectedDocumentStream = assembly.GetManifestResourceStream(TEST_DATASET)) { expectedDocument.Load(expectedDocumentStream); } var actualDocument = new XmlDocument(); xmlStream.Position = 0; actualDocument.Load(xmlStream); AssertXml(expectedDocument, actualDocument); }