@@ -45,7 +45,7 @@ public void CollectBasicObject()
4545 called = true ;
4646 } ;
4747
48- Assert . IsFalse ( called ) ;
48+ Assert . IsFalse ( called , "The event handler was called before it was installed" ) ;
4949 Finalizer . Instance . CollectOnce += handler ;
5050
5151 WeakReference shortWeak ;
@@ -55,13 +55,25 @@ public void CollectBasicObject()
5555 }
5656 FullGCCollect ( ) ;
5757 // The object has been resurrected
58- Assert . IsFalse ( shortWeak . IsAlive ) ;
59- Assert . IsTrue ( longWeak . IsAlive ) ;
58+ Warn . If (
59+ shortWeak . IsAlive ,
60+ "The referenced object is alive although it should have been collected" ,
61+ shortWeak
62+ ) ;
63+ Assert . IsTrue (
64+ longWeak . IsAlive ,
65+ "The reference object is not alive although it should still be" ,
66+ longWeak
67+ ) ;
6068
6169 {
6270 var garbage = Finalizer . Instance . GetCollectedObjects ( ) ;
63- Assert . NotZero ( garbage . Count ) ;
64- Assert . IsTrue ( garbage . Any ( T => ReferenceEquals ( T . Target , longWeak . Target ) ) ) ;
71+ Assert . NotZero ( garbage . Count , "There should still be garbage around" ) ;
72+ Warn . Unless (
73+ garbage . Any ( T => ReferenceEquals ( T . Target , longWeak . Target ) ) ,
74+ $ "The { nameof ( longWeak ) } reference doesn't show up in the garbage list",
75+ garbage
76+ ) ;
6577 }
6678 try
6779 {
@@ -71,7 +83,7 @@ public void CollectBasicObject()
7183 {
7284 Finalizer . Instance . CollectOnce -= handler ;
7385 }
74- Assert . IsTrue ( called ) ;
86+ Assert . IsTrue ( called , "The event handler was not called during finalization" ) ;
7587 Assert . GreaterOrEqual ( objectCount , 1 ) ;
7688 }
7789
0 commit comments