예제 #1
0
        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));
        }
예제 #2
0
        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));
        }
예제 #3
0
        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));
        }
예제 #4
0
        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));
        }
예제 #5
0
        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));
        }
예제 #6
0
        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");
        }
예제 #7
0
        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");
        }
예제 #8
0
        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");
        }