@@ -65,7 +65,8 @@ public SignOutResultAssertions WithAuthenticationProperties(AuthenticationProper
65
65
Execute . Assertion
66
66
. ForCondition ( actualAuthenticationProperties == expectedAuthenticationProperties )
67
67
. BecauseOf ( reason , reasonArgs )
68
- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignOutResult.AuthenticationProperties" , expectedAuthenticationProperties , actualAuthenticationProperties ) ) ;
68
+ . WithDefaultIdentifier ( "SignOutResult.AuthenticationProperties" )
69
+ . FailWith ( FailureMessages . CommonFailMessage , expectedAuthenticationProperties , actualAuthenticationProperties ) ;
69
70
70
71
return this ;
71
72
}
@@ -88,7 +89,8 @@ public SignOutResultAssertions WithIsPersistent(bool expectedIsPersistent, strin
88
89
Execute . Assertion
89
90
. ForCondition ( actualIsPersistent == expectedIsPersistent )
90
91
. BecauseOf ( reason , reasonArgs )
91
- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignOutResult.AuthenticationProperties.IsPersistent" , expectedIsPersistent , actualIsPersistent ) ) ;
92
+ . WithDefaultIdentifier ( "SignOutResult.AuthenticationProperties.IsPersistent" )
93
+ . FailWith ( FailureMessages . CommonFailMessage , expectedIsPersistent , actualIsPersistent ) ;
92
94
93
95
return this ;
94
96
}
@@ -111,7 +113,8 @@ public SignOutResultAssertions WithRedirectUri(string expectedRedirectUri, strin
111
113
Execute . Assertion
112
114
. ForCondition ( string . Equals ( actualRedirectUri , expectedRedirectUri ) )
113
115
. BecauseOf ( reason , reasonArgs )
114
- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignOutResult.AuthenticationProperties.RedirectUri" , expectedRedirectUri , actualRedirectUri ) ) ;
116
+ . WithDefaultIdentifier ( "SignOutResult.AuthenticationProperties.RedirectUri" )
117
+ . FailWith ( FailureMessages . CommonFailMessage , expectedRedirectUri , actualRedirectUri ) ;
115
118
116
119
return this ;
117
120
}
@@ -130,42 +133,13 @@ public SignOutResultAssertions WithRedirectUri(string expectedRedirectUri, strin
130
133
public SignOutResultAssertions WithIssuedUtc ( DateTimeOffset ? expectedIssuedUtc , string reason = "" , params object [ ] reasonArgs )
131
134
{
132
135
var actualResult = IssuedUtc ;
133
-
134
- var expectedIssuedUtcAsString = expectedIssuedUtc ? . ToString ( "r" , ( IFormatProvider ) CultureInfo . InvariantCulture ) ;
135
-
136
- var expectedResult = DateTimeOffset . TryParseExact ( expectedIssuedUtcAsString , "r" , ( IFormatProvider ) CultureInfo . InvariantCulture , DateTimeStyles . RoundtripKind , out var result )
137
- ? new DateTimeOffset ? ( result )
138
- : new DateTimeOffset ? ( ) ;
139
-
140
- if ( actualResult == null && expectedResult == null )
141
- {
142
- return this ;
143
- }
144
-
145
- if ( actualResult == null )
146
- {
147
- Execute . Assertion
148
- . ForCondition ( false )
149
- . BecauseOf ( reason , reasonArgs )
150
- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignOutResult.AuthenticationProperties.IssuedUtc" , expectedResult , null ) ) ;
151
-
152
- return this ;
153
- }
154
-
155
- if ( expectedResult == null )
156
- {
157
- Execute . Assertion
158
- . ForCondition ( false )
159
- . BecauseOf ( reason , reasonArgs )
160
- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignOutResult.AuthenticationProperties.IssuedUtc" , null , actualResult ) ) ;
161
-
162
- return this ;
163
- }
136
+ DateTimeOffset ? expectedResult = RoundToSeconds ( expectedIssuedUtc ) ;
164
137
165
138
Execute . Assertion
166
- . ForCondition ( DateTimeOffset . Compare ( expectedResult . Value , actualResult . Value ) == 0 )
139
+ . ForCondition ( EqualityComparer < DateTimeOffset ? > . Default . Equals ( expectedResult , actualResult ) )
167
140
. BecauseOf ( reason , reasonArgs )
168
- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignOutResult.AuthenticationProperties.IssuedUtc" , expectedResult . Value , actualResult . Value ) ) ;
141
+ . WithDefaultIdentifier ( "SignOutResult.AuthenticationProperties.IssuedUtc" )
142
+ . FailWith ( FailureMessages . CommonFailMessage , expectedResult , actualResult ) ;
169
143
170
144
return this ;
171
145
}
@@ -185,41 +159,13 @@ public SignOutResultAssertions WithExpiresUtc(DateTimeOffset? expectedExpiresUtc
185
159
{
186
160
var actualResult = ExpiresUtc ;
187
161
188
- var expectedExpiresUtcAsString = expectedExpiresUtc ? . ToString ( "r" , ( IFormatProvider ) CultureInfo . InvariantCulture ) ;
189
-
190
- var expectedResult = DateTimeOffset . TryParseExact ( expectedExpiresUtcAsString , "r" , ( IFormatProvider ) CultureInfo . InvariantCulture , DateTimeStyles . RoundtripKind , out var result )
191
- ? new DateTimeOffset ? ( result )
192
- : new DateTimeOffset ? ( ) ;
193
-
194
- if ( actualResult == null && expectedResult == null )
195
- {
196
- return this ;
197
- }
198
-
199
- if ( actualResult == null )
200
- {
201
- Execute . Assertion
202
- . ForCondition ( false )
203
- . BecauseOf ( reason , reasonArgs )
204
- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignOutResult.AuthenticationProperties.ExpiresUtc" , expectedResult , null ) ) ;
205
-
206
- return this ;
207
- }
208
-
209
- if ( expectedResult == null )
210
- {
211
- Execute . Assertion
212
- . ForCondition ( false )
213
- . BecauseOf ( reason , reasonArgs )
214
- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignOutResult.AuthenticationProperties.ExpiresUtc" , null , actualResult ) ) ;
215
-
216
- return this ;
217
- }
162
+ DateTimeOffset ? expectedResult = RoundToSeconds ( expectedExpiresUtc ) ;
218
163
219
164
Execute . Assertion
220
- . ForCondition ( DateTimeOffset . Compare ( expectedResult . Value , actualResult . Value ) == 0 )
165
+ . ForCondition ( EqualityComparer < DateTimeOffset ? > . Default . Equals ( expectedResult , actualResult ) )
221
166
. BecauseOf ( reason , reasonArgs )
222
- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignOutResult.AuthenticationProperties.ExpiresUtc" , expectedResult . Value , actualResult . Value ) ) ;
167
+ . WithDefaultIdentifier ( "SignOutResult.AuthenticationProperties.ExpiresUtc" )
168
+ . FailWith ( FailureMessages . CommonFailMessage , expectedResult , actualResult ) ;
223
169
224
170
return this ;
225
171
}
@@ -243,7 +189,8 @@ public SignOutResultAssertions WithAllowRefresh(bool? expectedAllowRefresh, stri
243
189
Execute . Assertion
244
190
. ForCondition ( actualAllowRefresh == expectedAllowRefresh )
245
191
. BecauseOf ( reason , reasonArgs )
246
- . FailWith ( string . Format ( FailureMessages . CommonFailMessage , "SignOutResult.AuthenticationProperties.AllowRefresh" , expectedAllowRefresh , actualAllowRefresh ) ) ;
192
+ . WithDefaultIdentifier ( "SignOutResult.AuthenticationProperties.AllowRefresh" )
193
+ . FailWith ( FailureMessages . CommonFailMessage , expectedAllowRefresh , actualAllowRefresh ) ;
247
194
248
195
return this ;
249
196
}
@@ -323,5 +270,19 @@ public SignOutResultAssertions ContainsScheme(string expectedScheme, string reas
323
270
}
324
271
325
272
#endregion
273
+
274
+ #region Private Methods
275
+
276
+ private static DateTimeOffset ? RoundToSeconds ( DateTimeOffset ? expectedIssuedUtc )
277
+ {
278
+ var expectedIssuedUtcAsString = expectedIssuedUtc ? . ToString ( "r" , CultureInfo . InvariantCulture ) ;
279
+
280
+ var expectedResult = DateTimeOffset . TryParseExact ( expectedIssuedUtcAsString , "r" , CultureInfo . InvariantCulture , DateTimeStyles . RoundtripKind , out var result )
281
+ ? new DateTimeOffset ? ( result )
282
+ : new DateTimeOffset ? ( ) ;
283
+ return expectedResult ;
284
+ }
285
+
286
+ #endregion
326
287
}
327
288
}
0 commit comments