public void Test_Object_Is_Collected() { //Arrange var wr = CreateEquatableWeakReference(false); //Act RevokeNotifierTestClass.CallGC(); //Assert Assert.Null(wr.Target); }
public void Test_Object_Is_Not_Collected() { //Arrange var target = new RevokeNotifierTestClass(); _anchor.Add(target); var wr = new EquatableWeakReference <RevokeNotifierTestClass>(target); //Act RevokeNotifierTestClass.CallGC(); //Assert Assert.NotNull(wr.Target); }
private EquatableWeakReference <RevokeNotifierTestClass> CreateEquatableWeakReference(bool collectObject = false) { EquatableWeakReference <RevokeNotifierTestClass> res = null; Action notRootByDebuger = () => { res = new EquatableWeakReference <RevokeNotifierTestClass>(new RevokeNotifierTestClass()); }; notRootByDebuger(); if (collectObject) { RevokeNotifierTestClass.CallGC(); } return(res); }
private RevokeContext CreateRevokeContext(int hashcode = 1234) { RevokeContext res = null; Action notRootByDebuger = () => { res = new RevokeContext(new RevokeNotifierTestClass(), (s) => Task.CompletedTask, TaskScheduler.Current); }; notRootByDebuger(); RevokeNotifierTestClass.CallGC(); return(res); }
private RevokeContext CreateRevokeContext(int hashcode = 1234) { RevokeContext res = null; Action notRootByDebuger = () => { res = new RevokeContext(new RevokeNotifierTestClass(), RevokeContextConcurrentCollectionTests.RevokeKeySubstitute.Instance, TaskScheduler.Current); }; notRootByDebuger(); RevokeNotifierTestClass.CallGC(); return(res); }
private RevokeContext CreateRevokeContext(RevokeNotifierTestClass revokee = null, bool collectObject = false) { RevokeContext res = null; Action notRootByDebuger = () => { res = new RevokeContext(revokee ?? new RevokeNotifierTestClass(), collectObject?new RevokeContextConcurrentCollectionTests.RevokeKeySubstitute():this.subRevokeKey, this.subTaskScheduler); }; notRootByDebuger(); if (collectObject) { RevokeNotifierTestClass.CallGC(); } return(res); }
private RevokeContext CreateRevokeContext(RevokeNotifierTestClass revokee = null, bool collectObject = false) { RevokeContext res = null; Action notRootByDebuger = () => { res = new RevokeContext(revokee ?? new RevokeNotifierTestClass(), this.subFunc, this.subTaskScheduler); }; notRootByDebuger(); if (collectObject) { RevokeNotifierTestClass.CallGC(); } return(res); }