public void IsAliveTest()
 {
     var classWithEvent = new ClassWithEvent();
     var subscriber = new Subscriber(classWithEvent);
     classWithEvent.RaiseEvent();
     Assert.AreEqual(1, subscriber.count);
     var weakReference = new WeakReference(subscriber);
     Assert.IsTrue(weakReference.IsAlive, "Assert is alive before GC");
     subscriber = null;
     GC.Collect();
     Assert.IsFalse(weakReference.IsAlive, "Assert collected");
 }
 public Subscriber(ClassWithEvent classWithEvent)
 {
     classWithEvent.Event += (sender, args) => count++;
 }