@@ -134,7 +134,7 @@ public void WhenItemIsAddedCountIsCorrect()
134134 public async Task WhenItemIsAddedCountIsCorrectAsync ( )
135135 {
136136 lru . Count . Should ( ) . Be ( 0 ) ;
137- await lru . GetOrAddAsync ( 0 , valueFactory . CreateAsync ) . ConfigureAwait ( false ) ;
137+ await lru . GetOrAddAsync ( 0 , valueFactory . CreateAsync ) ;
138138 lru . Count . Should ( ) . Be ( 1 ) ;
139139 }
140140
@@ -261,8 +261,8 @@ public void WhenKeyIsRequestedWithArgItIsCreatedAndCached()
261261 [ Fact ]
262262 public async Task WhenKeyIsRequestedItIsCreatedAndCachedAsync ( )
263263 {
264- var result1 = await lru . GetOrAddAsync ( 1 , valueFactory . CreateAsync ) . ConfigureAwait ( false ) ;
265- var result2 = await lru . GetOrAddAsync ( 1 , valueFactory . CreateAsync ) . ConfigureAwait ( false ) ;
264+ var result1 = await lru . GetOrAddAsync ( 1 , valueFactory . CreateAsync ) ;
265+ var result2 = await lru . GetOrAddAsync ( 1 , valueFactory . CreateAsync ) ;
266266
267267 valueFactory . timesCalled . Should ( ) . Be ( 1 ) ;
268268 result1 . Should ( ) . Be ( result2 ) ;
@@ -271,8 +271,8 @@ public async Task WhenKeyIsRequestedItIsCreatedAndCachedAsync()
271271 [ Fact ]
272272 public async Task WhenKeyIsRequestedWithArgItIsCreatedAndCachedAsync ( )
273273 {
274- var result1 = await lru . GetOrAddAsync ( 1 , valueFactory . CreateAsync , "x" ) . ConfigureAwait ( false ) ;
275- var result2 = await lru . GetOrAddAsync ( 1 , valueFactory . CreateAsync , "y" ) . ConfigureAwait ( false ) ;
274+ var result1 = await lru . GetOrAddAsync ( 1 , valueFactory . CreateAsync , "x" ) ;
275+ var result2 = await lru . GetOrAddAsync ( 1 , valueFactory . CreateAsync , "y" ) ;
276276
277277 valueFactory . timesCalled . Should ( ) . Be ( 1 ) ;
278278 result1 . Should ( ) . Be ( result2 ) ;
@@ -293,8 +293,8 @@ public void WhenDifferentKeysAreRequestedValueIsCreatedForEach()
293293 [ Fact ]
294294 public async Task WhenDifferentKeysAreRequesteValueIsCreatedForEachAsync ( )
295295 {
296- var result1 = await lru . GetOrAddAsync ( 1 , valueFactory . CreateAsync ) . ConfigureAwait ( false ) ;
297- var result2 = await lru . GetOrAddAsync ( 2 , valueFactory . CreateAsync ) . ConfigureAwait ( false ) ;
296+ var result1 = await lru . GetOrAddAsync ( 1 , valueFactory . CreateAsync ) ;
297+ var result2 = await lru . GetOrAddAsync ( 2 , valueFactory . CreateAsync ) ;
298298
299299 valueFactory . timesCalled . Should ( ) . Be ( 2 ) ;
300300
@@ -866,6 +866,25 @@ public void WhenItemsExistClearRemovesAllItems()
866866 lru . HotCount . Should ( ) . Be ( 0 ) ;
867867 lru . WarmCount . Should ( ) . Be ( 0 ) ;
868868 lru . ColdCount . Should ( ) . Be ( 0 ) ;
869+ }
870+
871+ [ Fact ]
872+ public void WhenWarmThenClearedIsWarmIsReset ( )
873+ {
874+ for ( int i = 0 ; i < 20 ; i ++ )
875+ {
876+ lru . GetOrAdd ( i , k => k . ToString ( ) ) ;
877+ }
878+
879+ lru . Clear ( ) ;
880+ lru . Count . Should ( ) . Be ( 0 ) ;
881+
882+ for ( int i = 0 ; i < 20 ; i ++ )
883+ {
884+ lru . GetOrAdd ( i , k => k . ToString ( ) ) ;
885+ }
886+
887+ lru . Count . Should ( ) . Be ( capacity . Hot + capacity . Warm + capacity . Cold ) ;
869888 }
870889
871890 [ Fact ]
0 commit comments