public void IntrospectRemoteObject()
{
AllJoyn.BusAttachment busAttachment = new AllJoyn.BusAttachment("ProxyBusObjectTest", false);
Assert.Equal(AllJoyn.QStatus.OK, busAttachment.Start());
Assert.Equal(AllJoyn.QStatus.OK, busAttachment.Connect(AllJoynTestCommon.GetConnectSpec()));
AllJoyn.ProxyBusObject proxyBusObject = new AllJoyn.ProxyBusObject(busAttachment, "org.alljoyn.Bus", "/org/alljoyn/Bus", 0);
Assert.NotNull(proxyBusObject);
Assert.Equal(AllJoyn.QStatus.OK, proxyBusObject.IntrospectRemoteObject());
AllJoyn.InterfaceDescription interfaceDescription = proxyBusObject.GetInterface("org.freedesktop.DBus.Introspectable");
string expectedIntrospect = "<interface name=\"org.freedesktop.DBus.Introspectable\">\n" +
" <method name=\"Introspect\">\n" +
" <arg name=\"data\" type=\"s\" direction=\"out\"/>\n" +
" </method>\n" +
"</interface>\n";
Assert.Equal(expectedIntrospect, interfaceDescription.Introspect());
proxyBusObject.Dispose();
Assert.Equal(AllJoyn.QStatus.OK, busAttachment.Stop());
Assert.Equal(AllJoyn.QStatus.OK, busAttachment.Join());
busAttachment.Dispose();
}