|
|
|
@ -40,6 +40,18 @@ namespace Google.Protobuf |
|
|
|
|
{ |
|
|
|
|
public class UnknownFieldSetTest |
|
|
|
|
{ |
|
|
|
|
public class Data |
|
|
|
|
{ |
|
|
|
|
public static System.Collections.IEnumerable Messages |
|
|
|
|
{ |
|
|
|
|
get |
|
|
|
|
{ |
|
|
|
|
yield return SampleMessages.CreateFullTestAllTypesProto2(); |
|
|
|
|
yield return SampleMessages.CreateFullTestAllTypes(); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void EmptyUnknownFieldSet() |
|
|
|
|
{ |
|
|
|
@ -61,24 +73,23 @@ namespace Google.Protobuf |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void TestMergeCodedInput() |
|
|
|
|
[TestCaseSource(typeof(Data), "Messages")] |
|
|
|
|
public void TestMergeCodedInput(IMessage message) |
|
|
|
|
{ |
|
|
|
|
var message = SampleMessages.CreateFullTestAllTypesProto2(); |
|
|
|
|
var emptyMessage = new TestEmptyMessage(); |
|
|
|
|
emptyMessage.MergeFrom(message.ToByteArray()); |
|
|
|
|
Assert.AreEqual(message.CalculateSize(), emptyMessage.CalculateSize()); |
|
|
|
|
Assert.AreEqual(message.ToByteArray(), emptyMessage.ToByteArray()); |
|
|
|
|
|
|
|
|
|
var newMessage = new Proto2.TestAllTypes(); |
|
|
|
|
newMessage.MergeFrom(emptyMessage.ToByteArray()); |
|
|
|
|
var newMessage = message.Descriptor.Parser.ParseFrom(emptyMessage.ToByteArray()); |
|
|
|
|
Assert.AreEqual(message, newMessage); |
|
|
|
|
Assert.AreEqual(message.CalculateSize(), newMessage.CalculateSize()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void TestMergeMessage() |
|
|
|
|
[TestCaseSource(typeof(Data), "Messages")] |
|
|
|
|
public void TestMergeMessage(IMessage message) |
|
|
|
|
{ |
|
|
|
|
var message = SampleMessages.CreateFullTestAllTypesProto2(); |
|
|
|
|
var emptyMessage = new TestEmptyMessage(); |
|
|
|
|
var otherEmptyMessage = new TestEmptyMessage(); |
|
|
|
|
emptyMessage.MergeFrom(message.ToByteArray()); |
|
|
|
@ -89,9 +100,9 @@ namespace Google.Protobuf |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void TestEquals() |
|
|
|
|
[TestCaseSource(typeof(Data), "Messages")] |
|
|
|
|
public void TestEquals(IMessage message) |
|
|
|
|
{ |
|
|
|
|
var message = SampleMessages.CreateFullTestAllTypesProto2(); |
|
|
|
|
var emptyMessage = new TestEmptyMessage(); |
|
|
|
|
var otherEmptyMessage = new TestEmptyMessage(); |
|
|
|
|
Assert.AreEqual(emptyMessage, otherEmptyMessage); |
|
|
|
@ -102,9 +113,9 @@ namespace Google.Protobuf |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void TestHashCode() |
|
|
|
|
[TestCaseSource(typeof(Data), "Messages")] |
|
|
|
|
public void TestHashCode(IMessage message) |
|
|
|
|
{ |
|
|
|
|
var message = SampleMessages.CreateFullTestAllTypesProto2(); |
|
|
|
|
var emptyMessage = new TestEmptyMessage(); |
|
|
|
|
int hashCode = emptyMessage.GetHashCode(); |
|
|
|
|
emptyMessage.MergeFrom(message.ToByteArray()); |
|
|
|
@ -112,7 +123,8 @@ namespace Google.Protobuf |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void TestClone() |
|
|
|
|
[TestCaseSource(typeof(Data), "Messages")] |
|
|
|
|
public void TestClone(IMessage message) |
|
|
|
|
{ |
|
|
|
|
var emptyMessage = new TestEmptyMessage(); |
|
|
|
|
var otherEmptyMessage = new TestEmptyMessage(); |
|
|
|
@ -120,7 +132,6 @@ namespace Google.Protobuf |
|
|
|
|
Assert.AreEqual(emptyMessage.CalculateSize(), otherEmptyMessage.CalculateSize()); |
|
|
|
|
Assert.AreEqual(emptyMessage.ToByteArray(), otherEmptyMessage.ToByteArray()); |
|
|
|
|
|
|
|
|
|
var message = SampleMessages.CreateFullTestAllTypesProto2(); |
|
|
|
|
emptyMessage.MergeFrom(message.ToByteArray()); |
|
|
|
|
otherEmptyMessage = emptyMessage.Clone(); |
|
|
|
|
Assert.AreEqual(message.CalculateSize(), otherEmptyMessage.CalculateSize()); |
|
|
|
@ -128,9 +139,9 @@ namespace Google.Protobuf |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
[Test] |
|
|
|
|
public void TestDiscardUnknownFields() |
|
|
|
|
[TestCaseSource(typeof(Data), "Messages")] |
|
|
|
|
public void TestDiscardUnknownFields(IMessage message) |
|
|
|
|
{ |
|
|
|
|
var message = SampleMessages.CreateFullTestAllTypesProto2(); |
|
|
|
|
var goldenEmptyMessage = new TestEmptyMessage(); |
|
|
|
|
byte[] data = message.ToByteArray(); |
|
|
|
|
int fullSize = message.CalculateSize(); |
|
|
|
|