public async Task TestProjectSynchronization() { var code = @"class Test { void Method() { } }"; using (var workspace = TestWorkspace.CreateCSharp(code)) { var project = workspace.CurrentSolution.Projects.First(); // build checksum await project.State.GetChecksumAsync(CancellationToken.None); var map = project.GetAssetMap(); var sessionId = 0; var storage = new AssetStorage(); var source = new TestAssetSource(storage, map); var service = new AssetService(sessionId, storage); await service.SynchronizeProjectAssetsAsync(SpecializedCollections.SingletonEnumerable(await project.State.GetChecksumAsync(CancellationToken.None)), CancellationToken.None); foreach (var kv in map) { Assert.True(storage.TryGetAsset(kv.Key, out object data)); } } }
public async Task TestSolutionSynchronization() { var code = @"class Test { void Method() { } }"; using (var workspace = TestWorkspace.CreateCSharp(code)) { var solution = workspace.CurrentSolution; // build checksum await solution.State.GetChecksumAsync(CancellationToken.None); var map = solution.GetAssetMap(); var sessionId = 0; var storage = new AssetStorage(); var source = new TestAssetSource(storage, map); var service = new AssetService(sessionId, storage); await service.SynchronizeSolutionAssetsAsync(await solution.State.GetChecksumAsync(CancellationToken.None), CancellationToken.None); foreach (var kv in map) { Assert.True(storage.TryGetAsset(kv.Key, out object data)); } } }
public void TestCreation() { var storage = new AssetStorage(); var source = new TestAssetSource(storage); var stored = storage.AssetSource; Assert.Equal(source, stored); }
private static async Task <SolutionService> GetSolutionServiceAsync(Solution solution, Dictionary <Checksum, object> map = null) { // make sure checksum is calculated await solution.State.GetChecksumAsync(CancellationToken.None); map = map ?? new Dictionary <Checksum, object>(); solution.AppendAssetMap(map); var sessionId = 0; var storage = new AssetStorage(); var source = new TestAssetSource(storage, map); var service = new SolutionService(new AssetService(sessionId, storage)); return(service); }
public void TestCreation() { var sessionId = 0; var storage = new AssetStorage(); var source = new TestAssetSource(storage, sessionId); var stored = storage.TryGetAssetSource(sessionId); Assert.Equal(source, stored); storage.UnregisterAssetSource(sessionId); var none = storage.TryGetAssetSource(sessionId); Assert.Null(none); }
public async Task TestAssets() { var sessionId = 0; var checksum = Checksum.Create(WellKnownSynchronizationKind.Null, ImmutableArray.CreateRange(Guid.NewGuid().ToByteArray())); var data = new object(); var storage = new AssetStorage(); var source = new TestAssetSource(storage, checksum, data); var service = new AssetService(sessionId, storage); var stored = await service.GetAssetAsync <object>(checksum, CancellationToken.None); Assert.Equal(data, stored); var stored2 = await service.GetAssetsAsync <object>(new[] { checksum }, CancellationToken.None); Assert.Equal(1, stored2.Count); Assert.Equal(checksum, stored2[0].Item1); Assert.Equal(data, stored2[0].Item2); }
public async Task TestAssets() { var sessionId = 0; var checksum = new Checksum(Guid.NewGuid().ToByteArray()); var data = new object(); var storage = new AssetStorage(); var source = new TestAssetSource(storage, sessionId, checksum, data); var service = new AssetService(sessionId, storage); var stored = await service.GetAssetAsync <object>(checksum, CancellationToken.None); Assert.Equal(data, stored); var stored2 = await service.GetAssetsAsync <object>(new[] { checksum }, CancellationToken.None); Assert.Equal(1, stored2.Count); Assert.Equal(checksum, stored2[0].Item1); Assert.Equal(data, stored2[0].Item2); }
public async Task TestSolutionSynchronization() { var code = @"class Test { void Method() { } }"; using (var workspace = TestWorkspace.CreateCSharp(code)) { var solution = workspace.CurrentSolution; // build checksum await solution.State.GetChecksumAsync(CancellationToken.None); var map = await solution.GetAssetMapAsync(CancellationToken.None); var sessionId = 0; var storage = new AssetStorage(); var source = new TestAssetSource(storage, map); var service = new AssetService(sessionId, storage, new RemoteWorkspace().Services.GetService <ISerializerService>()); await service.SynchronizeSolutionAssetsAsync(await solution.State.GetChecksumAsync(CancellationToken.None), CancellationToken.None); TestUtils.VerifyAssetStorage(map, storage); } }
public async Task TestProjectSynchronization() { var code = @"class Test { void Method() { } }"; using (var workspace = TestWorkspace.CreateCSharp(code)) { var project = workspace.CurrentSolution.Projects.First(); // build checksum await project.State.GetChecksumAsync(CancellationToken.None); var map = await project.GetAssetMapAsync(CancellationToken.None); var sessionId = 0; var storage = new AssetStorage(); var source = new TestAssetSource(storage, map); var service = new AssetService(sessionId, storage, new RemoteWorkspace().Services.GetService <ISerializerService>()); await service.SynchronizeProjectAssetsAsync(SpecializedCollections.SingletonEnumerable(await project.State.GetChecksumAsync(CancellationToken.None)), CancellationToken.None); TestUtils.VerifyAssetStorage(map, storage); } }