public void GetSubscriptions_Success()
        {
            var result = new object[3]
            {
                1,
                "Success",
                new string[1][] {
                    new string[2]
                    {
                        "/chatter",
                        "std_msgs/String"
                    }
                }
            };

            MXmlRpcClientProtocol.AllInstances.UrlSetString = (t1, t2) => { };
            MSlaveProxy.AllInstances.BeginGetSubscriptionsStringAsyncCallbackObject = (t1, t2, t3, t4) => { t3(null); return(null); };
            MSlaveProxy.AllInstances.EndGetSubscriptionsIAsyncResult = (t1, t2) => result;

            var client = new SlaveClient(new Uri("http://localhost"));

            var ret = client.GetSubscriptionsAsync("/test").Result;

            ret.Count.Is(1);
            ret[0].TopicName.Is("/chatter");
            ret[0].MessageType.Is("std_msgs/String");
        }
        public void GetSubscriptions_Empty()
        {
            var result = new object[3]
            {
                1,
                "Success",
                new object[0]
            };

            MXmlRpcClientProtocol.AllInstances.UrlSetString = (t1, t2) => { };
            MSlaveProxy.AllInstances.BeginGetSubscriptionsStringAsyncCallbackObject = (t1, t2, t3, t4) => { t3(null); return(null); };
            MSlaveProxy.AllInstances.EndGetSubscriptionsIAsyncResult = (t1, t2) => result;

            var client = new SlaveClient(new Uri("http://localhost"));

            client.GetSubscriptionsAsync("/test").Result.Count.Is(0);
        }