@@ -201,39 +201,51 @@ public void OptionalNoneExplicitOperatorShouldProduceExpectedResult()
201201 public void OptionalSomeValuesShouldBeConsideredEqual ( )
202202 {
203203 // Given
204- Optional < int > a = Optional < int > . Some ( 123 ) ;
205- Optional < int > b = Optional < int > . Some ( 123 ) ;
204+ Some < int > a = Optional < int > . Some ( 123 ) ;
205+ Some < int > b = Optional < int > . Some ( 123 ) ;
206+ object bObject = b ;
206207
207208 // When / Then
208209 Assert . Equal ( a , b ) ;
209- Assert . True ( a == b ) ;
210+ Assert . Equal ( a , bObject ) ;
210211 Assert . True ( a . Equals ( b ) ) ;
212+ Assert . True ( a . Equals ( bObject ) ) ;
213+ Assert . True ( a == b ) ;
214+ Assert . False ( a != b ) ;
211215 }
212216
213217 [ Fact ( DisplayName = "Optional Some values should not be considered equal." ) ]
214218 public void OptionalSomeValuesShouldNotBeConsideredEqual ( )
215219 {
216220 // Given
217- Optional < int > a = Optional < int > . Some ( 123 ) ;
218- Optional < int > b = Optional < int > . Some ( 456 ) ;
221+ Some < int > a = Optional < int > . Some ( 123 ) ;
222+ Some < int > b = Optional < int > . Some ( 456 ) ;
223+ object bObject = b ;
219224
220225 // When / Then
221226 Assert . NotEqual ( a , b ) ;
222- Assert . True ( a != b ) ;
227+ Assert . NotEqual ( a , bObject ) ;
223228 Assert . False ( a . Equals ( b ) ) ;
229+ Assert . False ( a . Equals ( bObject ) ) ;
230+ Assert . False ( a == b ) ;
231+ Assert . True ( a != b ) ;
224232 }
225233
226234 [ Fact ( DisplayName = "Optional None values should be considered equal." ) ]
227235 public void OptionalNoneValuesShouldBeConsideredEqual ( )
228236 {
229237 // Given
230- Optional < int > a = Optional < int > . None ;
231- Optional < int > b = Optional < int > . None ;
238+ None < int > a = Optional < int > . None ;
239+ None < int > b = Optional < int > . None ;
240+ object bObject = b ;
232241
233242 // When / Then
234243 Assert . Equal ( a , b ) ;
235- Assert . True ( a == b ) ;
244+ Assert . Equal ( a , bObject ) ;
236245 Assert . True ( a . Equals ( b ) ) ;
246+ Assert . True ( a . Equals ( bObject ) ) ;
247+ Assert . True ( a == b ) ;
248+ Assert . False ( a != b ) ;
237249 }
238250
239251 [ Fact ( DisplayName = "Optional Some and None values should not be considered equal." ) ]
@@ -242,11 +254,15 @@ public void OptionalSomeAndNoneValuesShouldNotBeConsideredEqual()
242254 // Given
243255 Optional < int > a = Optional < int > . Some ( 123 ) ;
244256 Optional < int > b = Optional < int > . None ;
257+ object bObject = b ;
245258
246259 // When / Then
247260 Assert . NotEqual ( a , b ) ;
248- Assert . True ( a != b ) ;
261+ Assert . NotEqual ( a , bObject ) ;
249262 Assert . False ( a . Equals ( b ) ) ;
263+ Assert . False ( a . Equals ( bObject ) ) ;
264+ Assert . False ( a == b ) ;
265+ Assert . True ( a != b ) ;
250266 }
251267
252268 [ Fact ( DisplayName = "Optional Some.GetHashCode should produce the expected result." ) ]
@@ -317,7 +333,8 @@ public void OptionalSomeGetValueOrDefaultWithDefaultValueShouldProduceExpectedRe
317333 Optional < string > text = "abc" ;
318334
319335 // When
320- int actualNumber = number . GetValueOrDefault ( 456 ) ;
336+ int ? actualNumber = number . GetValueOrDefault ( 456 ) ;
337+ // ReSharper disable once VariableCanBeNotNullable
321338 string ? actualText = text . GetValueOrDefault ( "xyz" ) ;
322339
323340 // Then
0 commit comments