| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- using Google.Protobuf.TestProtos.Proto2;
- using NUnit.Framework;
- using static Google.Protobuf.TestProtos.Proto2.UnittestExtensions;
- namespace Google.Protobuf
- {
- public class ExtensionSetTest
- {
- [Test]
- public void EmptyExtensionSet()
- {
- ExtensionSet<TestAllExtensions> extensions = new ExtensionSet<TestAllExtensions>();
- Assert.AreEqual(0, extensions.CalculateSize());
- }
- [Test]
- public void MergeExtensionSet()
- {
- ExtensionSet<TestAllExtensions> extensions = null;
- ExtensionSet.Set(ref extensions, OptionalBoolExtension, true);
- ExtensionSet<TestAllExtensions> other = null;
- Assert.IsFalse(ExtensionSet.Has(ref other, OptionalBoolExtension));
- ExtensionSet.MergeFrom(ref other, extensions);
- Assert.IsTrue(ExtensionSet.Has(ref other, OptionalBoolExtension));
- }
- [Test]
- public void TestMergeCodedInput()
- {
- var message = new TestAllExtensions();
- message.SetExtension(OptionalBoolExtension, true);
- var serialized = message.ToByteArray();
- var other = TestAllExtensions.Parser
- .WithExtensionRegistry(new ExtensionRegistry() { OptionalBoolExtension })
- .ParseFrom(serialized);
- Assert.AreEqual(message, other);
- Assert.AreEqual(message.CalculateSize(), other.CalculateSize());
- }
- [Test]
- public void TestMergeMessage()
- {
- var message = new TestAllExtensions();
- message.SetExtension(OptionalBoolExtension, true);
- var other = new TestAllExtensions();
- Assert.AreNotEqual(message, other);
- Assert.AreNotEqual(message.CalculateSize(), other.CalculateSize());
- other.MergeFrom(message);
- Assert.AreEqual(message, other);
- Assert.AreEqual(message.CalculateSize(), other.CalculateSize());
- }
- [Test]
- public void TestEquals()
- {
- var message = new TestAllExtensions();
- message.SetExtension(OptionalBoolExtension, true);
- var other = new TestAllExtensions();
- Assert.AreNotEqual(message, other);
- Assert.AreNotEqual(message.CalculateSize(), other.CalculateSize());
- other.SetExtension(OptionalBoolExtension, true);
- Assert.AreEqual(message, other);
- Assert.AreEqual(message.CalculateSize(), other.CalculateSize());
- }
- [Test]
- public void TestHashCode()
- {
- var message = new TestAllExtensions();
- var hashCode = message.GetHashCode();
- message.SetExtension(OptionalBoolExtension, true);
- Assert.AreNotEqual(hashCode, message.GetHashCode());
- }
- [Test]
- public void TestClone()
- {
- var message = new TestAllExtensions();
- message.SetExtension(OptionalBoolExtension, true);
- var other = message.Clone();
- Assert.AreEqual(message, other);
- Assert.AreEqual(message.CalculateSize(), message.CalculateSize());
- }
- }
- }
|