// Server does not implement the FooUnimplemented version of protocol Foo.
        // See that calls to it fail.
        /// <exception cref="System.IO.IOException"/>
        public virtual void TestNonExistingProtocol()
        {
            ProtocolProxy <object> proxy;

            proxy = RPC.GetProtocolProxy <TestMultipleProtocolServer.FooUnimplemented>(TestMultipleProtocolServer.FooUnimplemented
                                                                                       .versionID, addr, conf);
            TestMultipleProtocolServer.FooUnimplemented foo = (TestMultipleProtocolServer.FooUnimplemented
                                                               )proxy.GetProxy();
            foo.Ping();
        }
        public virtual void TestNonExistingProtocol2()
        {
            ProtocolProxy <object> proxy;

            proxy = RPC.GetProtocolProxy <TestMultipleProtocolServer.FooUnimplemented>(TestMultipleProtocolServer.FooUnimplemented
                                                                                       .versionID, addr, conf);
            TestMultipleProtocolServer.FooUnimplemented foo = (TestMultipleProtocolServer.FooUnimplemented
                                                               )proxy.GetProxy();
            Assert.Equal(TestMultipleProtocolServer.Foo1.versionID, foo.GetProtocolVersion
                             (RPC.GetProtocolName(typeof(TestMultipleProtocolServer.FooUnimplemented)), TestMultipleProtocolServer.FooUnimplemented
                             .versionID));
            foo.GetProtocolSignature(RPC.GetProtocolName(typeof(TestMultipleProtocolServer.FooUnimplemented
                                                                )), TestMultipleProtocolServer.FooUnimplemented.versionID, 0);
        }