Commit 2a1f0bd4 authored by csharptest's avatar csharptest Committed by rogerk

Added a few more tests to ensure XxxxList { get; } clones readonly builder

parent 7b6044f8
...@@ -89,6 +89,15 @@ namespace Google.ProtocolBuffers ...@@ -89,6 +89,15 @@ namespace Google.ProtocolBuffers
Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
} }
[Test]
public void CloneOnGetRepeatedBoolList()
{
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
GC.KeepAlive(builder.RepeatedBoolList);
Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
}
[Test] [Test]
public void CloneOnChangeMessage() public void CloneOnChangeMessage()
{ {
...@@ -108,11 +117,11 @@ namespace Google.ProtocolBuffers ...@@ -108,11 +117,11 @@ namespace Google.ProtocolBuffers
} }
[Test] [Test]
public void CloneOnAddRepeatedForeignMessage() public void CloneOnGetRepeatedForeignMessageList()
{ {
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
builder.AddRepeatedForeignMessage(ForeignMessage.DefaultInstance); GC.KeepAlive(builder.RepeatedForeignMessageList);
Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
} }
...@@ -126,11 +135,11 @@ namespace Google.ProtocolBuffers ...@@ -126,11 +135,11 @@ namespace Google.ProtocolBuffers
} }
[Test] [Test]
public void CloneOnAddRepeatedForeignEnum() public void CloneOnGetRepeatedForeignEnumList()
{ {
TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder(); TestAllTypes.Builder builder = TestAllTypes.DefaultInstance.ToBuilder();
Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsTrue(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
builder.AddRepeatedForeignEnum(ForeignEnum.FOREIGN_BAR); GC.KeepAlive(builder.RepeatedForeignEnumList);
Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build())); Assert.IsFalse(ReferenceEquals(TestAllTypes.DefaultInstance, builder.Build()));
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment