Write/Read delimited messages
diff --git a/src/ProtocolBuffers.Test/WireFormatTest.cs b/src/ProtocolBuffers.Test/WireFormatTest.cs
index b519d7a..2d558af 100644
--- a/src/ProtocolBuffers.Test/WireFormatTest.cs
+++ b/src/ProtocolBuffers.Test/WireFormatTest.cs
@@ -29,6 +29,7 @@
 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+using System.IO;
 using System.Reflection;
 using Google.ProtocolBuffers.Descriptors;
 using Google.ProtocolBuffers.TestProtos;
@@ -99,6 +100,23 @@
     }
 
     [Test]
+    public void SerializeDelimited() {
+      MemoryStream stream = new MemoryStream();
+      TestUtil.GetAllSet().WriteDelimitedTo(stream);
+      stream.WriteByte(12);
+      TestUtil.GetPackedSet().WriteDelimitedTo(stream);
+      stream.WriteByte(34);
+
+      stream.Position = 0;
+
+      TestUtil.AssertAllFieldsSet(TestAllTypes.ParseDelimitedFrom(stream));
+      Assert.AreEqual(12, stream.ReadByte());
+      TestUtil.AssertPackedFieldsSet(TestPackedTypes.ParseDelimitedFrom(stream));
+      Assert.AreEqual(34, stream.ReadByte());
+      Assert.AreEqual(-1, stream.ReadByte());
+    }
+
+    [Test]
     public void ParseExtensions() {
       // TestAllTypes and TestAllExtensions should have compatible wire formats,
       // so if we serealize a TestAllTypes then parse it as TestAllExtensions
@@ -133,7 +151,7 @@
       Assert.AreEqual(TestUtil.GetAllSet().SerializedSize, TestUtil.GetAllExtensionsSet().SerializedSize);
     }
 
-    private void AssertFieldsInOrder(ByteString data) {
+    private static void AssertFieldsInOrder(ByteString data) {
       CodedInputStream input = data.CreateCodedInput();
       uint previousTag = 0;