Support packed primitive types
diff --git a/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs b/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs
index 01762f7..b4aa14d 100644
--- a/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs
+++ b/src/ProtocolBuffers.Test/CodedOutputStreamTest.cs
@@ -196,6 +196,18 @@
       }
     }
 
+    /// <summary>
+    /// Tests writing a whole message with every packed field type. Ensures the
+    /// wire format of packed fields is compatible with C++.
+    /// </summary>
+    [Test]
+    public void WriteWholePackedFieldsMessage() {
+      TestPackedTypes message = TestUtil.GetPackedSet();
+
+      byte[] rawBytes = message.ToByteArray();
+      TestUtil.AssertEqualBytes(TestUtil.GetGoldenPackedFieldsMessage().ToByteArray(),
+                       rawBytes);
+    }
 
     [Test]
     public void EncodeZigZag32() {