提交 4d1cff05 编写于 作者: H Heejae Chang

following PR feedback,

simplify some implementation and add comments and etc
上级 cca070ad
......@@ -114,29 +114,23 @@ public override string Display
public bool Equals(CompilationReference other)
{
if (object.ReferenceEquals(this, other))
if (other == null)
{
return true;
return false;
}
if (other == null)
if (object.ReferenceEquals(this, other))
{
return false;
return true;
}
// MetadataProperty implements value equality
return object.ReferenceEquals(this.Compilation, other.Compilation) && object.Equals(this.Properties, other.Properties);
return object.Equals(this.Compilation, other.Compilation) && object.Equals(this.Properties, other.Properties);
}
public override bool Equals(object obj)
{
var compilation = obj as CompilationReference;
if (compilation == null)
{
return false;
}
return Equals(compilation);
return Equals(obj as CompilationReference);
}
public override int GetHashCode()
......
......@@ -9,7 +9,7 @@ namespace Microsoft.CodeAnalysis.UnitTests.WorkspaceTests
public class WorkspaceReferenceTests
{
[Fact]
public async Task PEReferenceTest()
public async Task CheckPEReferencesSameAfterSolutionChangedTest()
{
using (var ws = new AdhocWorkspace())
{
......@@ -27,7 +27,7 @@ public async Task PEReferenceTest()
var compilation1 = await project.GetCompilationAsync();
var references1 = compilation1.ExternalReferences;
// change project
// just some arbitary action to create new snpahost that doesnt affect references
var info = DocumentInfo.Create(DocumentId.CreateNewId(project.Id), "code.cs");
var document = ws.AddDocument(info);
......@@ -40,7 +40,7 @@ public async Task PEReferenceTest()
}
[Fact]
public async Task P2PReferenceTest()
public async Task CheckP2PReferencesSameAfterSolutionChangedTest()
{
using (var ws = new AdhocWorkspace())
{
......@@ -69,7 +69,7 @@ public async Task P2PReferenceTest()
var compilation1 = await project.GetCompilationAsync();
var references1 = compilation1.ExternalReferences;
// change project
// just some arbitary action to create new snpahost that doesnt affect references
var info = DocumentInfo.Create(DocumentId.CreateNewId(project.Id), "code.cs");
var document = ws.AddDocument(info);
......@@ -82,7 +82,7 @@ public async Task P2PReferenceTest()
}
[Fact]
public async Task CrossLanguageReferenceTest()
public async Task CheckCrossLanguageReferencesSameAfterSolutionChangedTest()
{
using (var ws = new AdhocWorkspace())
{
......@@ -111,7 +111,7 @@ public async Task CrossLanguageReferenceTest()
var compilation1 = await project.GetCompilationAsync();
var references1 = compilation1.ExternalReferences;
// change project
// just some arbitary action to create new snpahost that doesnt affect references
var info = DocumentInfo.Create(DocumentId.CreateNewId(project.Id), "code.cs");
var document = ws.AddDocument(info);
......@@ -124,7 +124,7 @@ public async Task CrossLanguageReferenceTest()
}
[Fact]
public async Task CompilationReferenceChangedTest()
public async Task CheckP2PReferencesNotSameAfterReferenceChangedTest()
{
using (var ws = new AdhocWorkspace())
{
......@@ -153,10 +153,11 @@ public async Task CompilationReferenceChangedTest()
var compilation1 = await project.GetCompilationAsync();
var references1 = compilation1.ExternalReferences;
// change project
// some random action that causes reference project to be changed.
var referenceDocumentInfo = DocumentInfo.Create(DocumentId.CreateNewId(referenceProject.Id), "code.cs");
var referenceDocument = ws.AddDocument(referenceDocumentInfo);
// just some arbitary action to create new snpahost that doesnt affect references
var info = DocumentInfo.Create(DocumentId.CreateNewId(project.Id), "code.cs");
var document = ws.AddDocument(info);
......@@ -169,7 +170,7 @@ public async Task CompilationReferenceChangedTest()
}
[Fact]
public async Task PEReferenceChangedTest()
public async Task CheckPEReferencesNotSameAfterReferenceChangedTest()
{
using (var ws = new AdhocWorkspace())
{
......@@ -187,7 +188,7 @@ public async Task PEReferenceChangedTest()
var compilation1 = await project.GetCompilationAsync();
var references1 = compilation1.ExternalReferences;
// change project
// explicitly change references
var forkedProject = project.WithMetadataReferences(ImmutableArray.Create<MetadataReference>(
PortableExecutableReference.CreateFromFile(typeof(object).Assembly.Location),
PortableExecutableReference.CreateFromFile(typeof(Workspace).Assembly.Location)));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册