public void ResultTypeIsMethodReturnType()
 {
     StubRpcServiceDescriptor service = new StubRpcServiceDescriptor();
     RpcMethodDescriptor method = new RpcMethodDescriptor(service, StubService.SumInfo);
     Assert.AreEqual(typeof(int), method.ResultType);
 }
 public void Parameters()
 {
     StubRpcServiceDescriptor service = new StubRpcServiceDescriptor();
     RpcMethodDescriptor method = new RpcMethodDescriptor(service, StubService.SumInfo);
     Assert.AreEqual(2, method.GetParameters().Length);
     Assert.AreEqual("a", method.GetParameters()[0].Name);
     Assert.AreEqual("b", method.GetParameters()[1].Name);
 }
 public void AttributeFromMethod()
 {
     StubRpcServiceDescriptor service = new StubRpcServiceDescriptor();
     RpcMethodDescriptor method = new RpcMethodDescriptor(service, StubService.BarInfo);
     Assert.AreEqual("bar", method.Name);
 }
 public void CustomNameViaAttribute()
 {
     StubRpcServiceDescriptor service = new StubRpcServiceDescriptor();
     RpcMethodDescriptor method = new RpcMethodDescriptor(service, StubService.FooInfo, new JsonRpcMethodAttribute("foo"));
     Assert.AreEqual("foo", method.Name);
 }
 public void AffliatedWithService()
 {
     StubRpcServiceDescriptor service = new StubRpcServiceDescriptor();
     RpcMethodDescriptor method = new RpcMethodDescriptor(service, StubService.FooInfo);
     Assert.AreSame(service, method.ServiceDescriptor);
 }
 public void DefaultNameIsMethodName()
 {
     StubRpcServiceDescriptor service = new StubRpcServiceDescriptor();
     RpcMethodDescriptor method = new RpcMethodDescriptor(service, StubService.FooInfo);
     Assert.AreEqual("Foo", method.Name);
 }
 public void Invocation()
 {
     StubRpcServiceDescriptor service = new StubRpcServiceDescriptor();
     RpcMethodDescriptor method = new RpcMethodDescriptor(service, StubService.SumInfo);
     StubService serviceInstance = new StubService();
     object result = method.Invoke(serviceInstance, new object[] { 2, 3 });
     Assert.AreEqual(5, result);
 }