@@ -39,6 +39,12 @@ public override Task AddAsync_WithInvalidKey_ThrowsArgumentException()
3939 return base . AddAsync_WithInvalidKey_ThrowsArgumentException ( ) ;
4040 }
4141
42+ [ Fact ]
43+ public override Task AddAsync_WhenKeyAlreadyExists_ReturnsFalseAndDoesNotOverwrite ( )
44+ {
45+ return base . AddAsync_WhenKeyAlreadyExists_ReturnsFalseAndDoesNotOverwrite ( ) ;
46+ }
47+
4248 [ Fact ]
4349 public override Task AddAsync_WithExpiration_SetsExpirationCorrectly ( )
4450 {
@@ -129,6 +135,12 @@ public override Task GetAsync_WithInvalidKey_ThrowsArgumentException()
129135 return base . GetAsync_WithInvalidKey_ThrowsArgumentException ( ) ;
130136 }
131137
138+ [ Fact ]
139+ public override Task GetAsync_WhenKeyDoesNotExist_ReturnsNoValue ( )
140+ {
141+ return base . GetAsync_WhenKeyDoesNotExist_ReturnsNoValue ( ) ;
142+ }
143+
132144 [ Fact ]
133145 public override Task GetAsync_WithNumericTypeConversion_ConvertsBetweenTypes ( )
134146 {
@@ -195,6 +207,12 @@ public override Task IncrementAsync_WithExpiration_SetsExpirationCorrectly()
195207 return base . IncrementAsync_WithExpiration_SetsExpirationCorrectly ( ) ;
196208 }
197209
210+ [ Fact ]
211+ public override Task IncrementAsync_WithAmountZero_ReturnsCurrentValue ( )
212+ {
213+ return base . IncrementAsync_WithAmountZero_ReturnsCurrentValue ( ) ;
214+ }
215+
198216 [ Fact ]
199217 public override Task IncrementAsync_WithInvalidKey_ThrowsException ( )
200218 {
@@ -309,6 +327,12 @@ public override Task RemoveAsync_WithInvalidKey_ThrowsArgumentException()
309327 return base . RemoveAsync_WithInvalidKey_ThrowsArgumentException ( ) ;
310328 }
311329
330+ [ Fact ]
331+ public override Task RemoveAsync_WhenKeyDoesNotExist_ReturnsFalse ( )
332+ {
333+ return base . RemoveAsync_WhenKeyDoesNotExist_ReturnsFalse ( ) ;
334+ }
335+
312336 [ Fact ]
313337 public override Task RemoveAsync_WithNonExistentKey_ReturnsFalse ( )
314338 {
@@ -392,6 +416,12 @@ public override Task RemoveByPrefixAsync_WithNullOrEmptyPrefix_RemovesAllKeys()
392416 return base . RemoveByPrefixAsync_WithNullOrEmptyPrefix_RemovesAllKeys ( ) ;
393417 }
394418
419+ [ Fact ]
420+ public override Task RemoveByPrefixAsync_WithNoMatchingKeys_ReturnsZero ( )
421+ {
422+ return base . RemoveByPrefixAsync_WithNoMatchingKeys_ReturnsZero ( ) ;
423+ }
424+
395425 [ Theory ]
396426 [ MemberData ( nameof ( GetRegexSpecialCharacters ) ) ]
397427 public override Task RemoveByPrefixAsync_WithRegexMetacharacter_TreatsAsLiteral ( string specialChar )
@@ -583,6 +613,12 @@ public override Task SetExpirationAsync_WithInvalidKey_ThrowsArgumentException()
583613 return base . SetExpirationAsync_WithInvalidKey_ThrowsArgumentException ( ) ;
584614 }
585615
616+ [ Fact ]
617+ public override Task SetExpirationAsync_OnNonExistentKey_DoesNotThrow ( )
618+ {
619+ return base . SetExpirationAsync_OnNonExistentKey_DoesNotThrow ( ) ;
620+ }
621+
586622 [ Fact ]
587623 public override Task SetExpirationAsync_WithExpiration_SetsExpirationCorrectly ( )
588624 {
0 commit comments