public void DebugTest() { using (var originalStream = GetMergerTestFileStreamByFileName("onlv.xsd")) { var merger = new SimpleMerger(originalStream, GetMergerTestFileStreamByFileName); using (var mergeResult = merger.MergeSchemas()) { var flattener = new Flattener(mergeResult); var groupsToFlatten = new List <string> { "ontext.Inline.mix", "ontext.Inline.class", "ontext.InlPres.class", "ontext.List.class", "ontext.Flow.mix", "ontext.Block.class", "ontext.BlkSpecial.class", "ontext.Table.class", }; using (var flattenedresult = flattener.FlattenGroups(groupsToFlatten)) { using (var strmRdr = new StreamReader(flattenedresult)) { var text = strmRdr.ReadToEnd(); Assert.False(string.IsNullOrWhiteSpace(text)); } } } } }
public void CanMergeSchemas(string rootSchemaDocument) { using (var originalStream = GetMergerTestFileStreamByFileName(rootSchemaDocument)) { var merger = new SimpleMerger(originalStream, GetMergerTestFileStreamByFileName); using (var mergeResult = merger.MergeSchemas()) { Assert.NotNull(mergeResult); using (var strmRdr = new StreamReader(mergeResult)) { var text = strmRdr.ReadToEnd(); Assert.False(string.IsNullOrWhiteSpace(text)); } } } }
public void CanMergeSimpleFile(string filename) { var bundle = EmbeddedFilesReader.ReadString("XliffLib.Integration.TestFiles." + filename + ".json"); var xliff = EmbeddedFilesReader.ReadString("XliffLib.Integration.TestFiles." + filename + ".target.xlf"); var merger = new SimpleMerger(); var xliffModel = merger.Read(xliff); var resultingBundle = merger.Merge(xliffModel); var jsonResult = resultingBundle.ToJson(); JObject expected = JObject.Parse(bundle); JObject result = JObject.Parse(jsonResult); Assert.IsTrue(JToken.DeepEquals(expected, result), "The two bundles are different:\r\nExpected {0}\r\nResult {1}", bundle, jsonResult); }
private static void MergeSchema(Options options) { var inputPath = Path.GetFullPath(options.InputFilePath); var outputPath = Path.GetFullPath(options.OutputFilePath); using (var inputFileStream = File.OpenRead(inputPath)) { Func <string, Stream> loadReference = reference => { var basePath = Path.GetDirectoryName(inputPath); var fullPath = Path.Combine(basePath, reference); return(File.Open(fullPath, FileMode.Open)); }; var merger = new SimpleMerger(inputFileStream, loadReference); using (var mergedStream = merger.MergeSchemas()) { using (var outputFileStream = File.Create(outputPath)) { mergedStream.CopyTo(outputFileStream); } } } }