55using System . Collections . Generic ;
66using System . Diagnostics . Tracing ;
77using System . Linq ;
8+ using System . Text ;
89using System . Text . Json ;
910using System . Threading ;
1011using System . Threading . Tasks ;
@@ -69,7 +70,7 @@ public async Task UpdateStatusCompleted()
6970
7071 // Begin
7172 IEnumerable < EventWrittenEventArgs > messages = _listener . EventsById ( CertificatesEventSource . BeginUpdateStatusEvent ) ;
72- Assert . AreEqual ( 1 , messages . Count ( ) ) ;
73+ AssertMessageCount ( 1 , messages ) ;
7374
7475 EventWrittenEventArgs message = messages . Last ( ) ;
7576 Assert . AreEqual ( EventLevel . Verbose , message . Level ) ;
@@ -80,7 +81,7 @@ public async Task UpdateStatusCompleted()
8081
8182 // End
8283 messages = _listener . EventsById ( CertificatesEventSource . EndUpdateStatusEvent ) ;
83- Assert . AreEqual ( 1 , messages . Count ( ) ) ;
84+ AssertMessageCount ( 1 , messages ) ;
8485
8586 message = messages . Last ( ) ;
8687 Assert . AreEqual ( EventLevel . Verbose , message . Level ) ;
@@ -129,7 +130,7 @@ public async Task UpdateStatusEventuallyCompleted()
129130
130131 // End
131132 messages = _listener . EventsById ( CertificatesEventSource . EndUpdateStatusEvent ) ;
132- Assert . AreEqual ( 10 , messages . Count ( ) ) ;
133+ AssertMessageCount ( 10 , messages ) ;
133134
134135 message = messages . Last ( ) ;
135136 Assert . AreEqual ( EventLevel . Verbose , message . Level ) ;
@@ -162,7 +163,7 @@ public async Task UpdateStatusCanceled()
162163
163164 // Begin
164165 IEnumerable < EventWrittenEventArgs > messages = _listener . EventsById ( CertificatesEventSource . BeginUpdateStatusEvent ) ;
165- Assert . AreEqual ( 5 , messages . Count ( ) ) ;
166+ AssertMessageCount ( 5 , messages ) ;
166167
167168 EventWrittenEventArgs message = messages . Last ( ) ;
168169 Assert . AreEqual ( EventLevel . Verbose , message . Level ) ;
@@ -173,7 +174,7 @@ public async Task UpdateStatusCanceled()
173174
174175 // End
175176 messages = _listener . EventsById ( CertificatesEventSource . EndUpdateStatusEvent ) ;
176- Assert . AreEqual ( 5 , messages . Count ( ) ) ;
177+ AssertMessageCount ( 5 , messages ) ;
177178
178179 message = messages . Last ( ) ;
179180 Assert . AreEqual ( EventLevel . Verbose , message . Level ) ;
@@ -206,7 +207,7 @@ public async Task UpdateStatusDeleted()
206207
207208 // Begin
208209 IEnumerable < EventWrittenEventArgs > messages = _listener . EventsById ( CertificatesEventSource . BeginUpdateStatusEvent ) ;
209- Assert . AreEqual ( 5 , messages . Count ( ) ) ;
210+ AssertMessageCount ( 5 , messages ) ;
210211
211212 EventWrittenEventArgs message = messages . Last ( ) ;
212213 Assert . AreEqual ( EventLevel . Verbose , message . Level ) ;
@@ -217,7 +218,7 @@ public async Task UpdateStatusDeleted()
217218
218219 // End
219220 messages = _listener . EventsById ( CertificatesEventSource . EndUpdateStatusEvent ) ;
220- Assert . AreEqual ( 5 , messages . Count ( ) ) ;
221+ AssertMessageCount ( 5 , messages ) ;
221222
222223 message = messages . Last ( ) ;
223224 Assert . AreEqual ( EventLevel . Verbose , message . Level ) ;
@@ -250,7 +251,7 @@ public async Task UpdateStatusErred()
250251
251252 // Begin
252253 IEnumerable < EventWrittenEventArgs > messages = _listener . EventsById ( CertificatesEventSource . BeginUpdateStatusEvent ) ;
253- Assert . AreEqual ( 5 , messages . Count ( ) ) ;
254+ AssertMessageCount ( 5 , messages ) ;
254255
255256 EventWrittenEventArgs message = messages . Last ( ) ;
256257 Assert . AreEqual ( EventLevel . Verbose , message . Level ) ;
@@ -261,7 +262,7 @@ public async Task UpdateStatusErred()
261262
262263 // End
263264 messages = _listener . EventsById ( CertificatesEventSource . EndUpdateStatusEvent ) ;
264- Assert . AreEqual ( 5 , messages . Count ( ) ) ;
265+ AssertMessageCount ( 5 , messages ) ;
265266
266267 message = messages . Last ( ) ;
267268 Assert . AreEqual ( EventLevel . Verbose , message . Level ) ;
@@ -271,6 +272,21 @@ public async Task UpdateStatusErred()
271272 Assert . AreEqual ( "mock failure message" , message . GetProperty < string > ( "error" ) ) ;
272273 }
273274
275+ private static void AssertMessageCount ( int expected , IEnumerable < EventWrittenEventArgs > messages )
276+ {
277+ int actual = messages . Count ( ) ;
278+ if ( actual != expected )
279+ {
280+ StringBuilder sb = new StringBuilder ( $ "Expected { expected } messages; got { actual } \n Messages:\n ") ;
281+ foreach ( EventWrittenEventArgs message in messages )
282+ {
283+ sb . AppendFormat ( "- {0} ({1}): {2}\n " , message . EventName , message . EventId , message . Message ) ;
284+ }
285+
286+ Assert . Fail ( sb . ToString ( ) ) ;
287+ }
288+ }
289+
274290 private CertificateClient CreateClient ( HttpPipelineTransport transport )
275291 {
276292 CertificateClientOptions options = new CertificateClientOptions
0 commit comments