public void XmlRegularPipelineConvertsToCodeCompileUnit() { var pipeline = new XmlRegularPipeline { VersionDependentGuid = Guid.Parse("55a6e50d-1750-4ccd-8995-e5151b049a01") }; var builder = new StringBuilder(); using (var provider = new CSharpCodeProvider()) using (var writer = new StringWriter(builder)) { provider.GenerateCodeFromCompileUnit( pipeline.ConvertToPipelineRuntimeCodeCompileUnit(), writer, new CodeGeneratorOptions { BracingStyle = "C", IndentString = "\t", VerbatimOrder = true }); } // be resilient to runtime version in CodeDom heading comment Regex.Replace(builder.ToString(), @"(//\s+)Runtime Version:\d\.\d\.\d+\.\d+", @"$1Runtime Version:4.0.30319.42000", RegexOptions.Multiline) .Should().Be( ResourceManager.Load( Assembly.GetExecutingAssembly(), "Be.Stateless.BizTalk.Resources.XmlRegularPipeline.btp.cs", // be resilient to XML Schema and Instance namespace declaration order by reusing pipeline runtime document as generated by the build server s => s.ReadToEnd()).Replace("$$PipelineRuntimeDocument$$", pipeline.GetPipelineRuntimeDocumentSerializer().Serialize())); }
public void SerializeRegularPipeline() { var pipelineDocument = new XmlRegularPipeline().GetPipelineRuntimeDocumentSerializer(); XDocument.Parse(pipelineDocument.Serialize()).Should().BeEquivalentTo( ResourceManager.Load( Assembly.GetExecutingAssembly(), "Be.Stateless.BizTalk.Resources.XmlRegularPipelineRuntimeDocument.xml", XDocument.Load)); }