WeakReference MemoryCoreAlloc(Action <Subscriber2, EventOwner> subscribe, Action <Subscriber2> check, Action <EventOwner> raise) { EventOwner e = new EventOwner(); Subscriber2 s = new Subscriber2(); subscribe(s, e); Collect(); raise(e); check(s); s.Clear(); return(new WeakReference(s)); }
void MemoryCore(Action <Subscriber2, EventOwner> subscribe, Action <Subscriber2> check, Action <EventOwner> raise) { var e = new EventOwner(); var s = new Subscriber2(); subscribe(s, e); Collect(); raise(e); check(s); s.Clear(); WeakReference sRef = new WeakReference(s); s = null; Collect(); Assert.AreEqual(false, sRef.IsAlive); }