@@ -67,7 +67,8 @@ public SignInResultAssertions WithAuthenticationProperties(AuthenticationPropert
6767 Execute . Assertion
6868 . ForCondition ( actualAuthenticationProperties == expectedAuthenticationProperties )
6969 . BecauseOf ( reason , reasonArgs )
70- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignInResult.AuthenticationProperties" , expectedAuthenticationProperties , actualAuthenticationProperties ) ) ;
70+ . WithDefaultIdentifier ( "SignInResult.AuthenticationProperties" )
71+ . FailWith ( FailureMessages . CommonFailMessage , expectedAuthenticationProperties , actualAuthenticationProperties ) ;
7172
7273 return this ;
7374 }
@@ -90,7 +91,8 @@ public SignInResultAssertions WithIsPersistent(bool expectedIsPersistent, string
9091 Execute . Assertion
9192 . ForCondition ( actualIsPersistent == expectedIsPersistent )
9293 . BecauseOf ( reason , reasonArgs )
93- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignInResult.AuthenticationProperties.IsPersistent" , expectedIsPersistent , actualIsPersistent ) ) ;
94+ . WithDefaultIdentifier ( "SignInResult.AuthenticationProperties.IsPersistent" )
95+ . FailWith ( FailureMessages . CommonFailMessage , expectedIsPersistent , actualIsPersistent ) ;
9496
9597 return this ;
9698 }
@@ -113,7 +115,8 @@ public SignInResultAssertions WithRedirectUri(string expectedRedirectUri, string
113115 Execute . Assertion
114116 . ForCondition ( string . Equals ( actualRedirectUri , expectedRedirectUri ) )
115117 . BecauseOf ( reason , reasonArgs )
116- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignInResult.AuthenticationProperties.RedirectUri" , expectedRedirectUri , actualRedirectUri ) ) ;
118+ . WithDefaultIdentifier ( "SignInResult.AuthenticationProperties.RedirectUri" )
119+ . FailWith ( FailureMessages . CommonFailMessage , expectedRedirectUri , actualRedirectUri ) ;
117120
118121 return this ;
119122 }
@@ -133,41 +136,13 @@ public SignInResultAssertions WithIssuedUtc(DateTimeOffset? expectedIssuedUtc, s
133136 {
134137 var actualResult = IssuedUtc ;
135138
136- var expectedIssuedUtcAsString = expectedIssuedUtc ? . ToString ( "r" , ( IFormatProvider ) CultureInfo . InvariantCulture ) ;
137-
138- var expectedResult = DateTimeOffset . TryParseExact ( expectedIssuedUtcAsString , "r" , ( IFormatProvider ) CultureInfo . InvariantCulture , DateTimeStyles . RoundtripKind , out var result )
139- ? new DateTimeOffset ? ( result )
140- : new DateTimeOffset ? ( ) ;
141-
142- if ( actualResult == null && expectedResult == null )
143- {
144- return this ;
145- }
146-
147- if ( actualResult == null )
148- {
149- Execute . Assertion
150- . ForCondition ( false )
151- . BecauseOf ( reason , reasonArgs )
152- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignInResult.AuthenticationProperties.IssuedUtc" , expectedResult , null ) ) ;
153-
154- return this ;
155- }
156-
157- if ( expectedResult == null )
158- {
159- Execute . Assertion
160- . ForCondition ( false )
161- . BecauseOf ( reason , reasonArgs )
162- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignInResult.AuthenticationProperties.IssuedUtc" , null , actualResult ) ) ;
163-
164- return this ;
165- }
139+ var expectedResult = AssertionHelpers . RoundToSeconds ( expectedIssuedUtc ) ;
166140
167141 Execute . Assertion
168- . ForCondition ( DateTimeOffset . Compare ( expectedResult . Value , actualResult . Value ) == 0 )
142+ . ForCondition ( EqualityComparer < DateTimeOffset ? > . Default . Equals ( expectedResult , actualResult ) )
169143 . BecauseOf ( reason , reasonArgs )
170- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignInResult.AuthenticationProperties.IssuedUtc" , expectedResult . Value , actualResult . Value ) ) ;
144+ . WithDefaultIdentifier ( "SignInResult.AuthenticationProperties.IssuedUtc" )
145+ . FailWith ( FailureMessages . CommonFailMessage , expectedResult , actualResult ) ;
171146
172147 return this ;
173148 }
@@ -187,41 +162,13 @@ public SignInResultAssertions WithExpiresUtc(DateTimeOffset? expectedExpiresUtc,
187162 {
188163 var actualResult = ExpiresUtc ;
189164
190- var expectedExpiresUtcAsString = expectedExpiresUtc ? . ToString ( "r" , ( IFormatProvider ) CultureInfo . InvariantCulture ) ;
191-
192- var expectedResult = DateTimeOffset . TryParseExact ( expectedExpiresUtcAsString , "r" , ( IFormatProvider ) CultureInfo . InvariantCulture , DateTimeStyles . RoundtripKind , out var result )
193- ? new DateTimeOffset ? ( result )
194- : new DateTimeOffset ? ( ) ;
195-
196- if ( actualResult == null && expectedResult == null )
197- {
198- return this ;
199- }
200-
201- if ( actualResult == null )
202- {
203- Execute . Assertion
204- . ForCondition ( false )
205- . BecauseOf ( reason , reasonArgs )
206- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignInResult.AuthenticationProperties.ExpiresUtc" , expectedResult , null ) ) ;
207-
208- return this ;
209- }
210-
211- if ( expectedResult == null )
212- {
213- Execute . Assertion
214- . ForCondition ( false )
215- . BecauseOf ( reason , reasonArgs )
216- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignInResult.AuthenticationProperties.ExpiresUtc" , null , actualResult ) ) ;
217-
218- return this ;
219- }
165+ var expectedResult = AssertionHelpers . RoundToSeconds ( expectedExpiresUtc ) ;
220166
221167 Execute . Assertion
222- . ForCondition ( DateTimeOffset . Compare ( expectedResult . Value , actualResult . Value ) == 0 )
168+ . ForCondition ( EqualityComparer < DateTimeOffset ? > . Default . Equals ( expectedResult , actualResult ) )
223169 . BecauseOf ( reason , reasonArgs )
224- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignInResult.AuthenticationProperties.ExpiresUtc" , expectedResult . Value , actualResult . Value ) ) ;
170+ . WithDefaultIdentifier ( "SignInResult.AuthenticationProperties.ExpiresUtc" )
171+ . FailWith ( FailureMessages . CommonFailMessage , expectedResult , actualResult ) ;
225172
226173 return this ;
227174 }
@@ -244,7 +191,8 @@ public SignInResultAssertions WithAllowRefresh(bool? expectedAllowRefresh, strin
244191 Execute . Assertion
245192 . ForCondition ( actualAllowRefresh == expectedAllowRefresh )
246193 . BecauseOf ( reason , reasonArgs )
247- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignInResult.AuthenticationProperties.AllowRefresh" , expectedAllowRefresh , actualAllowRefresh ) ) ;
194+ . WithDefaultIdentifier ( "SignInResult.AuthenticationProperties.AllowRefresh" )
195+ . FailWith ( FailureMessages . CommonFailMessage , expectedAllowRefresh , actualAllowRefresh ) ;
248196
249197 return this ;
250198 }
@@ -264,12 +212,8 @@ public SignInResultAssertions WithAllowRefresh(bool? expectedAllowRefresh, strin
264212 public SignInResultAssertions ContainsItem ( string expectedKey , string expectedValue , string reason = "" , params object [ ] reasonArgs )
265213 {
266214 var actualItems = Items ;
267- var keyValuePair = new KeyValuePair < string , string > ( expectedKey , expectedValue ) ;
268-
269- Execute . Assertion
270- . ForCondition ( actualItems . Contains ( keyValuePair ) )
271- . BecauseOf ( reason , reasonArgs )
272- . FailWith ( string . Format ( FailureMessages . CommonItemsContain , expectedKey , expectedValue ) ) ;
215+
216+ AssertionHelpers . AssertStringObjectDictionary ( actualItems , "SignInResult.Items" , expectedKey , expectedValue , reason , reasonArgs ) ;
273217
274218 return this ;
275219 }
@@ -292,7 +236,8 @@ public SignInResultAssertions WithAuthenticationScheme(string expectedAuthentica
292236 Execute . Assertion
293237 . ForCondition ( string . Equals ( actualAuthenticationScheme , expectedAuthenticationScheme ) )
294238 . BecauseOf ( reason , reasonArgs )
295- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignInResult.AuthenticationScheme" , expectedAuthenticationScheme , actualAuthenticationScheme ) ) ;
239+ . WithDefaultIdentifier ( "SignInResult.AuthenticationScheme" )
240+ . FailWith ( FailureMessages . CommonFailMessage , expectedAuthenticationScheme , actualAuthenticationScheme ) ;
296241
297242 return this ;
298243 }
@@ -315,7 +260,8 @@ public SignInResultAssertions WithPrincipal(ClaimsPrincipal expectedPrincipal, s
315260 Execute . Assertion
316261 . ForCondition ( actualPrincipal == expectedPrincipal )
317262 . BecauseOf ( reason , reasonArgs )
318- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignInResult.Principal" , expectedPrincipal , actualPrincipal ) ) ;
263+ . WithDefaultIdentifier ( "SignInResult.Principal" )
264+ . FailWith ( FailureMessages . CommonFailMessage , expectedPrincipal , actualPrincipal ) ;
319265
320266 return this ;
321267
0 commit comments