public void TestListenerRegisteredUnregistered()
{
AllJoyn.BusAttachment bus = new AllJoyn.BusAttachment("BusListenerTest", true);
AllJoyn.BusListener busListener = new TestBusListener(this);
listenerRegistered = false;
listenerUnregistered = false;
AllJoyn.QStatus status = AllJoyn.QStatus.FAIL;
// start the bus attachment
status = bus.Start();
Assert.Equal(AllJoyn.QStatus.OK, status);
// connect to the bus
status = bus.Connect(AllJoynTestCommon.GetConnectSpec());
Assert.Equal(AllJoyn.QStatus.OK, status);
bus.RegisterBusListener(busListener);
Wait(MaxWaitTime);
Assert.Equal(true, listenerRegistered);
bus.UnregisterBusListener(busListener);
Wait(MaxWaitTime);
Assert.Equal(true, listenerUnregistered);
// TODO: move these into a teardown method?
busListener.Dispose();
bus.Dispose();
}