public void WillCreateNewXmlDocumentForNormalActions() { StoreMessageBody start = new StoreMessageBody(MessageLifecycle.Requests); StoreMessageBody end = new StoreMessageBody(MessageLifecycle.Requests); windsorContainer.Register( Component.For<MessageLifecycleBehavior>(), Component.For<IOperations>() .Named("operations") .ActAs(new DefaultClientModel() { Endpoint = WcfEndpoint .BoundTo(new NetTcpBinding { PortSharingEnabled = true }) .At("net.tcp://localhost/Operations") .AddExtensions(start, new ReplaceOperationsResult("100").ExecuteAt(1), new ReplaceOperationsResult("200").ExecuteAt(2), new AddOperationsHeader("MyHeader", "Hello"), end) }) ); IOperations client = windsorContainer.Resolve<IOperations>("operations"); Assert.AreEqual(200, client.GetValueFromConstructor()); Assert.IsNotNull(start.Body); Assert.IsNotNull(end.Body); Assert.AreNotSame(start.Body, end.Body); }
public void WillUseSameXmlDocumentForConsecutiveModifications() { var start = new StoreMessageBody(MessageLifecycle.Requests); var end = new StoreMessageBody(MessageLifecycle.Requests); windsorContainer.Register( Component.For<MessageLifecycleBehavior>(), Component.For<IOperations>() .Named("operations") .AsWcfClient(new DefaultClientModel() { Endpoint = WcfEndpoint .BoundTo(new NetTcpBinding { PortSharingEnabled = true }) .At("net.tcp://localhost/Operations") .AddExtensions(start, new ReplaceOperationsResult("100").ExecuteAt(1), new ReplaceOperationsResult("200").ExecuteAt(2), end) }) ); var client = windsorContainer.Resolve<IOperations>("operations"); Assert.AreEqual(200, client.GetValueFromConstructor()); Assert.IsNotNull(start.Body); Assert.AreSame(start.Body, end.Body); }