aboutsummaryrefslogtreecommitdiff
path: root/src/ProtocolBuffersLite.Test/ExtendableMessageLiteTest.cs
diff options
context:
space:
mode:
authorcsharptest <roger@csharptest.net>2011-06-06 11:40:01 -0500
committerrogerk <devnull@localhost>2011-06-06 11:40:01 -0500
commitc2a1f9b538ebd7c0a1cd5a367afd23c4efed7d44 (patch)
tree64b0e9d33031f2cf0f1b3d70dda8f6e56d3e90cd /src/ProtocolBuffersLite.Test/ExtendableMessageLiteTest.cs
parent6da3170a953b38d2e454a3035ebc24ed1cd4803a (diff)
downloadprotobuf-c2a1f9b538ebd7c0a1cd5a367afd23c4efed7d44.tar.gz
protobuf-c2a1f9b538ebd7c0a1cd5a367afd23c4efed7d44.tar.bz2
protobuf-c2a1f9b538ebd7c0a1cd5a367afd23c4efed7d44.zip
Unit testing of Packed/Unpacked parsing in Lite
Diffstat (limited to 'src/ProtocolBuffersLite.Test/ExtendableMessageLiteTest.cs')
-rw-r--r--src/ProtocolBuffersLite.Test/ExtendableMessageLiteTest.cs119
1 files changed, 82 insertions, 37 deletions
diff --git a/src/ProtocolBuffersLite.Test/ExtendableMessageLiteTest.cs b/src/ProtocolBuffersLite.Test/ExtendableMessageLiteTest.cs
index 399e3082..5ea8447b 100644
--- a/src/ProtocolBuffersLite.Test/ExtendableMessageLiteTest.cs
+++ b/src/ProtocolBuffersLite.Test/ExtendableMessageLiteTest.cs
@@ -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));
+ }
}
} \ No newline at end of file