public void SendPipelineSerializationKeepsOnlyStagesWhoseComponentsDefaultConfigHasBeenOverridden2() { Skip.IfNot(BizTalkServerGroup.IsConfigured); var pipeline = SendPipeline <XmlTransmit> .Configure( pl => pl .FirstPreAssembler <FailedMessageRoutingEnablerComponent>(c => { c.Enabled = false; }) .FirstPreAssembler <MicroPipelineComponent>( mpc => { mpc.Enabled = true; mpc.Components = new IMicroComponent[] { new XsltRunner { MapType = typeof(IdentityTransform) } }; })); var binding = pipeline.GetPipelineBindingInfoSerializer().Serialize(); binding.Should().Be( "<Root><Stages>" + "<Stage CategoryId=\"9d0e4101-4cce-4536-83fa-4a5040674ad6\">" + "<Components>" + $"<Component Name=\"{typeof(FailedMessageRoutingEnablerComponent).FullName}\">" + "<Properties>" + "<Enabled vt=\"11\">0</Enabled>" + "</Properties>" + "</Component>" + $"<Component Name=\"{typeof(MicroPipelineComponent).FullName}\">" + "<Properties>" + "<Components vt=\"8\">" + ( "<mComponents>" + $"<mComponent name='{typeof(XsltRunner).AssemblyQualifiedName}'>" + ( "<Encoding>utf-8</Encoding>" + $"<Map>{typeof(IdentityTransform).AssemblyQualifiedName}</Map>") + "</mComponent>" + "</mComponents>") + "</Components>" + "</Properties>" + "</Component>" + "</Components>" + "</Stage>" + "</Stages></Root>"); }