@@ -45,7 +45,7 @@ public void CollectBasicObject()
45
45
called = true ;
46
46
} ;
47
47
48
- Assert . IsFalse ( called ) ;
48
+ Assert . IsFalse ( called , "The event handler was called before it was installed" ) ;
49
49
Finalizer . Instance . CollectOnce += handler ;
50
50
51
51
WeakReference shortWeak ;
@@ -55,13 +55,25 @@ public void CollectBasicObject()
55
55
}
56
56
FullGCCollect ( ) ;
57
57
// 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
+ ) ;
60
68
61
69
{
62
70
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
+ ) ;
65
77
}
66
78
try
67
79
{
@@ -71,7 +83,7 @@ public void CollectBasicObject()
71
83
{
72
84
Finalizer . Instance . CollectOnce -= handler ;
73
85
}
74
- Assert . IsTrue ( called ) ;
86
+ Assert . IsTrue ( called , "The event handler was not called during finalization" ) ;
75
87
Assert . GreaterOrEqual ( objectCount , 1 ) ;
76
88
}
77
89
0 commit comments