11using System ;
2- using System . Collections . Generic ;
3- using System . Linq ;
4- using System . Text ;
52using System . Threading . Tasks ;
63using CacheTower . Extensions ;
74using Microsoft . VisualStudio . TestTools . UnitTesting ;
8- using Moq ;
5+ using NSubstitute ;
96
107namespace CacheTower . Tests . Extensions
118{
@@ -27,76 +24,67 @@ public async Task AcceptsEmptyExtensions()
2724 [ TestMethod ]
2825 public async Task DistributedLockExtension ( )
2926 {
30- var cacheStackMock = new Mock < ICacheStack > ( ) ;
31- var distributedLockMock = new Mock < IDistributedLockExtension > ( ) ;
32- await using var container = new ExtensionContainer ( new [ ] { distributedLockMock . Object } ) ;
27+ var cacheStackMock = Substitute . For < ICacheStack > ( ) ;
28+ var distributedLockMock = Substitute . For < IDistributedLockExtension > ( ) ;
29+ await using var container = new ExtensionContainer ( new [ ] { distributedLockMock } ) ;
3330
34- container . Register ( cacheStackMock . Object ) ;
31+ container . Register ( cacheStackMock ) ;
3532
3633 var distributedLock = await container . AwaitAccessAsync ( "DistributedLockCacheKey" ) ;
3734
38- distributedLockMock . Verify ( e => e . Register ( cacheStackMock . Object ) , Times . Once ) ;
39- distributedLockMock . Verify ( e => e . AwaitAccessAsync ( "DistributedLockCacheKey" ) , Times . Once ) ;
35+ distributedLockMock . Received ( 1 ) . Register ( cacheStackMock ) ;
36+ await distributedLockMock . Received ( 1 ) . AwaitAccessAsync ( "DistributedLockCacheKey" ) ;
4037 }
4138
4239 [ TestMethod ]
4340 public async Task CacheChangeExtension_Update ( )
4441 {
45- var cacheStackMock = new Mock < ICacheStack > ( ) ;
46- var valueRefreshMock = new Mock < ICacheChangeExtension > ( ) ;
47- await using var container = new ExtensionContainer ( new [ ] { valueRefreshMock . Object } ) ;
42+ var cacheStackMock = Substitute . For < ICacheStack > ( ) ;
43+ var valueRefreshMock = Substitute . For < ICacheChangeExtension > ( ) ;
44+ await using var container = new ExtensionContainer ( new [ ] { valueRefreshMock } ) ;
4845
49- container . Register ( cacheStackMock . Object ) ;
46+ container . Register ( cacheStackMock ) ;
5047
5148 var expiry = DateTime . UtcNow . AddDays ( 1 ) ;
5249
5350 await container . OnCacheUpdateAsync ( "CacheChangeKey" , expiry , CacheUpdateType . AddEntry ) ;
5451
55- valueRefreshMock . Verify ( e => e . Register ( cacheStackMock . Object ) , Times . Once ) ;
56- valueRefreshMock . Verify ( e =>
57- e . OnCacheUpdateAsync ( "CacheChangeKey" , expiry , CacheUpdateType . AddEntry ) ,
58- Times . Once
59- ) ;
52+ valueRefreshMock . Received ( 1 ) . Register ( cacheStackMock ) ;
53+ await valueRefreshMock . Received ( 1 ) . OnCacheUpdateAsync ( "CacheChangeKey" , expiry , CacheUpdateType . AddEntry ) ;
6054 }
6155
6256 [ TestMethod ]
6357 public async Task CacheChangeExtension_Eviction ( )
6458 {
65- var cacheStackMock = new Mock < ICacheStack > ( ) ;
66- var valueRefreshMock = new Mock < ICacheChangeExtension > ( ) ;
67- await using var container = new ExtensionContainer ( new [ ] { valueRefreshMock . Object } ) ;
59+ var cacheStackMock = Substitute . For < ICacheStack > ( ) ;
60+ var valueRefreshMock = Substitute . For < ICacheChangeExtension > ( ) ;
61+ await using var container = new ExtensionContainer ( new [ ] { valueRefreshMock } ) ;
6862
69- container . Register ( cacheStackMock . Object ) ;
63+ container . Register ( cacheStackMock ) ;
7064
7165 var expiry = DateTime . UtcNow . AddDays ( 1 ) ;
7266
7367 await container . OnCacheEvictionAsync ( "CacheChangeKey" ) ;
7468
75- valueRefreshMock . Verify ( e => e . Register ( cacheStackMock . Object ) , Times . Once ) ;
76- valueRefreshMock . Verify ( e =>
77- e . OnCacheEvictionAsync ( "CacheChangeKey" ) ,
78- Times . Once
79- ) ;
69+ valueRefreshMock . Received ( 1 ) . Register ( cacheStackMock ) ;
70+ await valueRefreshMock . Received ( 1 ) . OnCacheEvictionAsync ( "CacheChangeKey" ) ;
8071 }
8172
8273 [ TestMethod ]
8374 public async Task CacheChangeExtension_Flush ( )
8475 {
85- var cacheStackMock = new Mock < ICacheStack > ( ) ;
86- var valueRefreshMock = new Mock < ICacheChangeExtension > ( ) ;
87- await using var container = new ExtensionContainer ( new [ ] { valueRefreshMock . Object } ) ;
76+ var cacheStackMock = Substitute . For < ICacheStack > ( ) ;
77+ var valueRefreshMock = Substitute . For < ICacheChangeExtension > ( ) ;
78+ await using var container = new ExtensionContainer ( new [ ] { valueRefreshMock } ) ;
8879
89- container . Register ( cacheStackMock . Object ) ;
80+ container . Register ( cacheStackMock ) ;
9081
9182 var expiry = DateTime . UtcNow . AddDays ( 1 ) ;
9283
9384 await container . OnCacheFlushAsync ( ) ;
9485
95- valueRefreshMock . Verify ( e => e . Register ( cacheStackMock . Object ) , Times . Once ) ;
96- valueRefreshMock . Verify ( e =>
97- e . OnCacheFlushAsync ( ) ,
98- Times . Once
99- ) ;
86+ valueRefreshMock . Received ( 1 ) . Register ( cacheStackMock ) ;
87+ await valueRefreshMock . Received ( 1 ) . OnCacheFlushAsync ( ) ;
10088 }
10189 }
10290}
0 commit comments