|
@@ -258,48 +258,42 @@ namespace Google.ProtocolBuffers
|
|
|
Assert.AreEqual(123u, copy.GetExtension(UnitTestLiteProtoFile.RepeatedUint64ExtensionLite, 0));
|
|
|
}
|
|
|
|
|
|
- [Test]
|
|
|
- public void ExtensionWriterTestPacked()
|
|
|
+ private TestPackedExtensionsLite BuildPackedExtensions()
|
|
|
{
|
|
|
TestPackedExtensionsLite.Builder builder = TestPackedExtensionsLite.CreateBuilder()
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedBoolExtensionLite, true)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedDoubleExtensionLite, 123)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedFixed32ExtensionLite, 123u)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedFixed64ExtensionLite, 123u)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedFloatExtensionLite, 123)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedInt32ExtensionLite, 123)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedInt64ExtensionLite, 123)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedSfixed32ExtensionLite, 123)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedSfixed64ExtensionLite, 123)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedSint32ExtensionLite, 123)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedSint64ExtensionLite, 123)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedUint32ExtensionLite, 123u)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedUint64ExtensionLite, 123u)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedBoolExtensionLite, true)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedDoubleExtensionLite, 123)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedFixed32ExtensionLite, 123u)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedFixed64ExtensionLite, 123u)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedFloatExtensionLite, 123)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedInt32ExtensionLite, 123)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedInt64ExtensionLite, 123)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedSfixed32ExtensionLite, 123)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedSfixed64ExtensionLite, 123)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedSint32ExtensionLite, 123)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedSint64ExtensionLite, 123)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedUint32ExtensionLite, 123u)
|
|
|
- .AddExtension(UnitTestLiteProtoFile.PackedUint64ExtensionLite, 123u);
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedBoolExtensionLite, true)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedDoubleExtensionLite, 123)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedFixed32ExtensionLite, 123u)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedFixed64ExtensionLite, 123u)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedFloatExtensionLite, 123)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedInt32ExtensionLite, 123)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedInt64ExtensionLite, 123)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedSfixed32ExtensionLite, 123)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedSfixed64ExtensionLite, 123)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedSint32ExtensionLite, 123)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedSint64ExtensionLite, 123)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedUint32ExtensionLite, 123u)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedUint64ExtensionLite, 123u)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedBoolExtensionLite, true)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedDoubleExtensionLite, 123)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedFixed32ExtensionLite, 123u)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedFixed64ExtensionLite, 123u)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedFloatExtensionLite, 123)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedInt32ExtensionLite, 123)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedInt64ExtensionLite, 123)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedSfixed32ExtensionLite, 123)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedSfixed64ExtensionLite, 123)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedSint32ExtensionLite, 123)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedSint64ExtensionLite, 123)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedUint32ExtensionLite, 123u)
|
|
|
+ .AddExtension(UnitTestLiteProtoFile.PackedUint64ExtensionLite, 123u);
|
|
|
|
|
|
TestPackedExtensionsLite msg = builder.Build();
|
|
|
+ return msg;
|
|
|
+ }
|
|
|
|
|
|
- ExtensionRegistry registry = ExtensionRegistry.CreateInstance();
|
|
|
- UnitTestLiteProtoFile.RegisterAllExtensions(registry);
|
|
|
-
|
|
|
- TestPackedExtensionsLite.Builder copyBuilder =
|
|
|
- TestPackedExtensionsLite.CreateBuilder().MergeFrom(msg.ToByteArray(), registry);
|
|
|
- TestPackedExtensionsLite copy = copyBuilder.Build();
|
|
|
-
|
|
|
- Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
|
|
|
-
|
|
|
+ private void AssertPackedExtensions(TestPackedExtensionsLite copy)
|
|
|
+ {
|
|
|
Assert.AreEqual(true, copy.GetExtension(UnitTestLiteProtoFile.PackedBoolExtensionLite, 0));
|
|
|
Assert.AreEqual(123, copy.GetExtension(UnitTestLiteProtoFile.PackedDoubleExtensionLite, 0));
|
|
|
Assert.AreEqual(123u, copy.GetExtension(UnitTestLiteProtoFile.PackedFixed32ExtensionLite, 0));
|
|
@@ -328,5 +322,56 @@ namespace Google.ProtocolBuffers
|
|
|
Assert.AreEqual(123u, copy.GetExtension(UnitTestLiteProtoFile.PackedUint32ExtensionLite, 1));
|
|
|
Assert.AreEqual(123u, copy.GetExtension(UnitTestLiteProtoFile.PackedUint64ExtensionLite, 1));
|
|
|
}
|
|
|
+
|
|
|
+ [Test]
|
|
|
+ public void ExtensionWriterTestPacked()
|
|
|
+ {
|
|
|
+ TestPackedExtensionsLite msg = BuildPackedExtensions();
|
|
|
+
|
|
|
+ ExtensionRegistry registry = ExtensionRegistry.CreateInstance();
|
|
|
+ UnitTestLiteProtoFile.RegisterAllExtensions(registry);
|
|
|
+
|
|
|
+ TestPackedExtensionsLite.Builder copyBuilder =
|
|
|
+ TestPackedExtensionsLite.CreateBuilder().MergeFrom(msg.ToByteArray(), registry);
|
|
|
+ TestPackedExtensionsLite copy = copyBuilder.Build();
|
|
|
+
|
|
|
+ Assert.AreEqual(msg.ToByteArray(), copy.ToByteArray());
|
|
|
+
|
|
|
+ AssertPackedExtensions(copy);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Test]
|
|
|
+ public void TestUnpackedAndPackedExtensions()
|
|
|
+ {
|
|
|
+ TestPackedExtensionsLite original = BuildPackedExtensions();
|
|
|
+ AssertPackedExtensions(original);
|
|
|
+
|
|
|
+ ExtensionRegistry registry = ExtensionRegistry.CreateInstance();
|
|
|
+ UnitTestLiteProtoFile.RegisterAllExtensions(registry);
|
|
|
+
|
|
|
+ TestUnpackedExtensionsLite unpacked = TestUnpackedExtensionsLite.ParseFrom(original.ToByteArray(), registry);
|
|
|
+
|
|
|
+ TestPackedExtensionsLite packed = TestPackedExtensionsLite.ParseFrom(unpacked.ToByteArray(), registry);
|
|
|
+
|
|
|
+ Assert.AreEqual(original, packed);
|
|
|
+ Assert.AreEqual(original.ToByteArray(), packed.ToByteArray());
|
|
|
+ AssertPackedExtensions(packed);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Test]
|
|
|
+ public void TestUnpackedFromPackedInput()
|
|
|
+ {
|
|
|
+ byte[] packedData = BuildPackedExtensions().ToByteArray();
|
|
|
+
|
|
|
+ TestUnpackedTypesLite unpacked = TestUnpackedTypesLite.ParseFrom(packedData);
|
|
|
+ TestPackedTypesLite packed = TestPackedTypesLite.ParseFrom(unpacked.ToByteArray());
|
|
|
+ Assert.AreEqual(packedData, packed.ToByteArray());
|
|
|
+
|
|
|
+ unpacked = TestUnpackedTypesLite.ParseFrom(packed.ToByteArray());
|
|
|
+
|
|
|
+ ExtensionRegistry registry = ExtensionRegistry.CreateInstance();
|
|
|
+ UnitTestLiteProtoFile.RegisterAllExtensions(registry);
|
|
|
+ AssertPackedExtensions(TestPackedExtensionsLite.ParseFrom(unpacked.ToByteArray(), registry));
|
|
|
+ }
|
|
|
}
|
|
|
}
|