Пример #1
0
        public void ParseXml()
        {
            string busObjectXML = "<node name=\"/org/alljoyn/test/ProxyObjectTest\">" +
                                    "  <interface name=\"org.alljoyn.test.ProxyBusObjectTest\">\n" +
                                    "    <signal name=\"chirp\">\n" +
                                    "      <arg name=\"chirp\" type=\"s\"/>\n" +
                                    "    </signal>\n" +
                                    "    <signal name=\"chirp2\">\n" +
                                    "      <arg name=\"chirp\" type=\"s\" direction=\"out\"/>\n" +
                                    "    </signal>\n" +
                                    "    <method name=\"ping\">\n" +
                                    "      <arg name=\"in\" type=\"s\" direction=\"in\"/>\n" +
                                    "      <arg name=\"out\" type=\"s\" direction=\"out\"/>\n" +
                                    "    </method>\n" +
                                    "  </interface>\n" +
                                    "</node>\n";

            proxyBusObject = new AllJoyn.ProxyBusObject(busAttachment, null, null, 0);
            Assert.NotNull(proxyBusObject);

            Assert.Equal(AllJoyn.QStatus.OK, proxyBusObject.ParseXml(busObjectXML));

            Assert.True(proxyBusObject.ImplementsInterface("org.alljoyn.test.ProxyBusObjectTest"));

            AllJoyn.InterfaceDescription iface = proxyBusObject.GetInterface("org.alljoyn.test.ProxyBusObjectTest");
            Assert.NotNull(iface);

            string expectedIntrospect = "<interface name=\"org.alljoyn.test.ProxyBusObjectTest\">\n" +
                                        "  <signal name=\"chirp\">\n" +
                                        "    <arg name=\"chirp\" type=\"s\" direction=\"out\"/>\n" +
                                        "  </signal>\n" +
                                        "  <signal name=\"chirp2\">\n" +
                                        "    <arg name=\"chirp\" type=\"s\" direction=\"out\"/>\n" +
                                        "  </signal>\n" +
                                        "  <method name=\"ping\">\n" +
                                        "    <arg name=\"in\" type=\"s\" direction=\"in\"/>\n" +
                                        "    <arg name=\"out\" type=\"s\" direction=\"out\"/>\n" +
                                        "  </method>\n" +
                                        "</interface>\n";
            Assert.Equal(expectedIntrospect, iface.Introspect());
        }