예제 #1
0
 public void Should_not_hold_reference()
 {
     _mediator.Subscribe<MsgA>(_sub, _sub.Call);
     Assert.AreEqual(1, _mediator.RegisteredSubscribers());
     _sub = null;
     RunGC();
     _mediator.Publish(new MsgA());
     Assert.AreEqual(0, _mediator.RegisteredSubscribers());
 }
예제 #2
0
 public void Should_do_multicast()
 {
     var sub1 = new Sub();
     var sub2 = new Sub();
     _mediator.Subscribe<MsgA>(sub1, sub1.Call);
     _mediator.Subscribe<MsgA>(sub2, sub2.Call);
     RunGC();
     _mediator.Publish(new MsgA());
     Assert.AreEqual(1, sub1.CallCountA);
     Assert.AreEqual(1, sub2.CallCountA);
 }
예제 #3
0
 public MediatorTests()
 {
     _mediator = new Mediator();
     _sub      = new Sub();
 }
예제 #4
0
 public void SetUp()
 {
     _mediator = new Mediator();
     _sub = new Sub();
 }