public async Task TestSymbolTreeInfoSerialization() { var solution = GetSolution(WorkspaceKind.SingleClass); var project = solution.Projects.First(); // create symbol tree info from assembly var info = await SymbolTreeInfo.CreateSourceSymbolTreeInfoAsync( project, Checksum.Null, cancellationToken : CancellationToken.None); using (var writerStream = new MemoryStream()) { using (var writer = new ObjectWriter(writerStream)) { info.WriteTo(writer); } using (var readerStream = new MemoryStream(writerStream.ToArray())) using (var reader = ObjectReader.TryGetReader(readerStream)) { var readInfo = SymbolTreeInfo.ReadSymbolTreeInfo_ForTestingPurposesOnly( reader, Checksum.Null); info.AssertEquivalentTo(readInfo); } } }
public async Task TestSymbolTreeInfoSerialization() { using var workspace = CreateWorkspaceWithSolution(SolutionKind.SingleClass, out var solution); var project = solution.Projects.First(); // create symbol tree info from assembly var info = await SymbolTreeInfo.CreateSourceSymbolTreeInfoAsync( project, Checksum.Null, cancellationToken : CancellationToken.None); using var writerStream = new MemoryStream(); using (var writer = new ObjectWriter(writerStream, leaveOpen: true)) { info.WriteTo(writer); } using var readerStream = new MemoryStream(writerStream.ToArray()); using var reader = ObjectReader.TryGetReader(readerStream); var readInfo = SymbolTreeInfo.TestAccessor.ReadSymbolTreeInfo(reader, Checksum.Null); info.AssertEquivalentTo(readInfo); }