public void Should_Convert_XsdImport_in_Code_namespace_to_import_when_no_slash() { // Arrange var expected = ".Process.DAI.PNO.Common"; // Act var import = TargetAppNameSpaceService.ConvertXsdImportToNameSpace(".Process.DAI.PNO.Common"); // Assert Assert.AreEqual(expected, import); }
public void Should_Convert_Unix_XsdImport_in_Code_namespace_to_import() { // Arrange var expected = "DAI.PNO.XSD"; // Act var import = TargetAppNameSpaceService.ConvertXsdImportToNameSpace("/XmlSchemas/DAI/PNO/XSD/RM3D.xsd"); // Assert Assert.AreEqual(expected, import); }
public void Should_Convert_Windows_pathname_in_Code_namespace_to_import() { // Arrange var expected = "DAI.PNO.XSD"; ConfigurationApp.SaveProperty(MainClass.ProjectDirectory, "c:\\test"); // Act var import = TargetAppNameSpaceService.ConvertXsdImportToNameSpace("c:\\test\\XmlSchemas\\DAI\\PNO\\XSD\\RM3D.xsd"); // Assert Assert.AreEqual(expected, import); }
private List <CodeNamespaceImport> GenerateXsdImports(TibcoBWProcess tibcoBwProcessToGenerate) { var imports = new List <CodeNamespaceImport>(); if (tibcoBwProcessToGenerate.XsdImports != null) { foreach (var xsdImport in tibcoBwProcessToGenerate.XsdImports) { imports.Add( new CodeNamespaceImport( TargetAppNameSpaceService.myAppName() + "." + TargetAppNameSpaceService.ConvertXsdImportToNameSpace(xsdImport.SchemaLocation))); } } return(imports); }
// TODO : refacto to split the 2 generation method in 2 sub-service public CodeNamespace Build(string fileName) { var xsdCodeNamespace = new CodeNamespace(); var convertXsdImportToNameSpace = TargetAppNameSpaceService.myAppName() + "." + TargetAppNameSpaceService.ConvertXsdImportToNameSpace(fileName); try { var stream = new FileStream(fileName, FileMode.Open, FileAccess.Read); xsdCodeNamespace = this.GeneratedClassFromStream(stream, convertXsdImportToNameSpace); } catch (Exception e) { Log.Warn("Switching mode to generate class from XSD file because it contains custom element:" + fileName); XElement allFileElement = XElement.Load(fileName); xsdCodeNamespace = this.Build(this.Parse(allFileElement, convertXsdImportToNameSpace), convertXsdImportToNameSpace); } return(xsdCodeNamespace); }