Beispiel #1
0
        public async Task RoundTrip_Analyzer_Serailization_Test()
        {
            using (var tempRoot = new TempRoot())
            {
                var workspace  = new AdhocWorkspace();
                var serializer = new Serializer(workspace);

                // actually shadow copy content
                var location = typeof(object).Assembly.Location;
                var file     = tempRoot.CreateFile("shadow", "dll");
                file.CopyContentFrom(location);

                var reference = new AnalyzerFileReference(location, new MockShadowCopyAnalyzerAssemblyLoader(ImmutableDictionary <string, string> .Empty.Add(location, file.Path)));

                // make sure this doesn't throw
                var assetFromFile    = SolutionAsset.Create(serializer.CreateChecksum(reference, CancellationToken.None), reference, serializer);
                var assetFromStorage = await CloneAssetAsync(serializer, assetFromFile).ConfigureAwait(false);

                var assetFromStorage2 = await CloneAssetAsync(serializer, assetFromStorage).ConfigureAwait(false);
            }
        }
        public void RoundTrip_Analyzer_Serialization_Test()
        {
            using var tempRoot  = new TempRoot();
            using var workspace = CreateWorkspace();

            var serializer = workspace.Services.GetService <ISerializerService>();

            // actually shadow copy content
            var location = typeof(object).Assembly.Location;
            var file     = tempRoot.CreateFile("shadow", "dll");

            file.CopyContentFrom(location);

            var reference = new AnalyzerFileReference(location, new MockShadowCopyAnalyzerAssemblyLoader(ImmutableDictionary <string, string> .Empty.Add(location, file.Path)));

            // make sure this doesn't throw
            var assetFromFile    = new SolutionAsset(serializer.CreateChecksum(reference, CancellationToken.None), reference);
            var assetFromStorage = CloneAsset(serializer, assetFromFile);

            _ = CloneAsset(serializer, assetFromStorage);
        }
Beispiel #3
0
        public async Task RoundTrip_Analyzer_Serialization_Desktop_Test()
        {
            using var tempRoot = new TempRoot();
            var hostServices = MefHostServices.Create(
                MefHostServices.DefaultAssemblies.Add(typeof(Host.TemporaryStorageServiceFactory.TemporaryStorageService).Assembly));

            var workspace  = new AdhocWorkspace(hostServices);
            var serializer = workspace.Services.GetService <ISerializerService>();

            // actually shadow copy content
            var location = typeof(object).Assembly.Location;
            var file     = tempRoot.CreateFile("shadow", "dll");

            file.CopyContentFrom(location);

            var reference = new AnalyzerFileReference(location, new MockShadowCopyAnalyzerAssemblyLoader(ImmutableDictionary <string, string> .Empty.Add(location, file.Path)));

            // make sure this doesn't throw
            var assetFromFile    = new SolutionAsset(serializer.CreateChecksum(reference, CancellationToken.None), reference, serializer);
            var assetFromStorage = await CloneAssetAsync(serializer, assetFromFile).ConfigureAwait(false);

            var assetFromStorage2 = await CloneAssetAsync(serializer, assetFromStorage).ConfigureAwait(false);
        }