示例#1
0
 public void TcpClientDisconnectFromTcpServer()
 {
     using (var tcpPair = new TcpConnectionPair())
     {
         tcpPair.Disconnect();
         tcpPair.AssertPairIsDisconnected();
     }
 }
        public void LocalOriginSerializationFails_throws()
        {
            var originContractBuilder = IntegrationTestsHelper.GetOriginBuilder()
                                        .UseSerializer(IntegrationTestsHelper.GetThrowsSerializationRuleFor <string>());

            using (var tcpPair = new TcpConnectionPair <ITestContract, ITestContract, TestContractMock>
                                     (originContractBuilder, IntegrationTestsHelper.GetProxyBuilder()))
            {
                //local origin serializer fails
                Assert.Multiple(() =>
                {
                    Assert.Throws <LocalSerializationException>(() => tcpPair.OriginContract.OnSayS("testString"));
                    tcpPair.AssertPairIsDisconnected();
                });
            }
        }
        public void LocalProxyDeserializationFails_throws()
        {
            var proxyContractBuilder = IntegrationTestsHelper
                                       .GetProxyBuilder()
                                       .UseDeserializer(IntegrationTestsHelper.GetThrowsDeserializationRuleFor <string>());

            using (var tcpPair = new TcpConnectionPair <ITestContract, ITestContract, TestContractMock>
                                     (IntegrationTestsHelper.GetOriginBuilder(), proxyContractBuilder))
            {
                //proxy contract uses failed string deserializer, when it accepts answer
                Assert.Multiple(() =>
                {
                    Assert.Throws <LocalSerializationException>(() => tcpPair.ProxyContract.Ask("testString"));
                    tcpPair.AssertPairIsDisconnected();
                });
            }
        }
        public void RemoteOriginSeserializationFails_throws()
        {
            var proxyContractBuilder = IntegrationTestsHelper
                                       .GetProxyBuilder()
                                       .UseSerializer(IntegrationTestsHelper.GetThrowsSerializationRuleFor <string>());

            using (var tcpPair = new TcpConnectionPair <ITestContract, ITestContract, TestContractMock>
                                     (IntegrationTestsHelper.GetOriginBuilder(), proxyContractBuilder))
            {
                //proxy contract uses failed string serializer, when it returns answer
                Assert.Multiple(() =>
                {
                    Assert.Throws <RemoteSerializationException>(() => tcpPair.OriginContract.OnAskS("testString"));
                    tcpPair.AssertPairIsDisconnected();
                });
            }
        }