public void DoesNothingWhenThereAreNoListeners() { broadcaster = new TypeSafeBroadcaster<IBroadcasterTestsListener>(); Expect.Never.On(listener1).Method("OnBanana").With(1, 2); Expect.Never.On(listener2).Method("OnBanana").With(1, 2); broadcaster.Listener.OnBanana(1, 2); }
public void ForwardsCallsToListeners() { broadcaster = new TypeSafeBroadcaster<IBroadcasterTestsListener>(); broadcaster.AddListeners(new IBroadcasterTestsListener[] { listener1, listener2 }); Expect.Once.On(listener1).Method("OnBanana").With(1, 2); Expect.Once.On(listener2).Method("OnBanana").With(1, 2); broadcaster.Listener.OnBanana(1, 2); }
public void RemoveListener_RemovesListener_EvenWhenHandlingTheEvent() { broadcaster = new TypeSafeBroadcaster<IBroadcasterTestsListener>(); broadcaster.AddListeners(new ForgetMeListener(broadcaster) ); broadcaster.Listener.OnBanana(1, 2); }
public void RemoveListeners_RemovesListeners_IfPassedKnownListeners() { broadcaster = new TypeSafeBroadcaster<IBroadcasterTestsListener>(); broadcaster.AddListeners( listener1, listener2 ); broadcaster.RemoveListeners( listener1, listener2 ); broadcaster.Listener.OnBanana(1, 2); }
public void RemoveListeners_DoesNothing_IfPassedListenersNotInTheBroadcaster() { broadcaster = new TypeSafeBroadcaster<IBroadcasterTestsListener>(); broadcaster.RemoveListeners( listener1, listener2 ); broadcaster.Listener.OnBanana(1, 2); }
public void RemoveListeners_DoesNothing_IfPassedAnEmptyArray() { broadcaster = new TypeSafeBroadcaster<IBroadcasterTestsListener>(); broadcaster.RemoveListeners(); broadcaster.Listener.OnBanana(1, 2); }
public void ThrowsExceptionWhenNonVoidMethodIsCalled() { broadcaster = new TypeSafeBroadcaster<IBroadcasterTestsListener>(); broadcaster.AddListeners(listener1); broadcaster.Listener.GetSomething(); }
public void RethrowsExceptionWhenListenThorwsException() { broadcaster = new TypeSafeBroadcaster<IBroadcasterTestsListener>(); broadcaster.AddListeners(listener1); Stub.On(listener1).Method("OnBanana").With(1, 2).Will(Throw.Exception(new ArgumentException())); broadcaster.Listener.OnBanana(1, 2); }