public void TestGetAssets() { var storage = new AssetStorage(); var checksum = Checksum.Create(WellKnownSynchronizationKind.Null, ImmutableArray.CreateRange(Guid.NewGuid().ToByteArray())); var data = new object(); Assert.True(storage.TryAddAsset(checksum, data)); Assert.True(storage.TryGetAsset(checksum, out object stored)); }
public void TestGetAssets() { var storage = new AssetStorage(); var checksum = new Checksum(Guid.NewGuid().ToByteArray()); var data = new object(); Assert.True(storage.TryAddAsset(checksum, data)); object stored; Assert.True(storage.TryGetAsset(checksum, out stored)); }
public void TestGetAssets() { var sessionId = 0; var storage = new AssetStorage(enableCleanup: false); var source = new MyAssetSource(storage, sessionId); var checksum = new Checksum(Guid.NewGuid().ToByteArray()); var data = new object(); Assert.True(storage.TryAddAsset(checksum, data)); object stored; Assert.True(storage.TryGetAsset(checksum, out stored)); }
public async Task TestCleanup() { var storage = new AssetStorage(cleanupInterval: TimeSpan.FromMilliseconds(1), purgeAfter: TimeSpan.FromMilliseconds(2), gcAfter: TimeSpan.FromMilliseconds(5)); var checksum = Checksum.Create(WellKnownSynchronizationKind.Null, ImmutableArray.CreateRange(Guid.NewGuid().ToByteArray())); var data = new object(); Assert.True(storage.TryAddAsset(checksum, data)); for (var i = 0; i < 10; i++) { await Task.Delay(10); if (!storage.TryGetAsset(checksum, out object stored)) { // asset is deleted return; } } // it should not reach here Assert.True(false, "asset not cleaned up"); }
public async Task TestCleanup() { var storage = new AssetStorage(cleanupInterval: TimeSpan.FromMilliseconds(1), purgeAfter: TimeSpan.FromMilliseconds(2)); var checksum = new Checksum(Guid.NewGuid().ToByteArray()); var data = new object(); Assert.True(storage.TryAddAsset(checksum, data)); for (var i = 0; i < 10; i++) { await Task.Delay(10); object stored; if (!storage.TryGetAsset(checksum, out stored)) { // asset is deleted return; } } // it should not reach here Assert.True(false, "asset not cleaned up"); }