Benchmarking, dumping and munging
diff --git a/src/ProtocolBuffers.Test/MessageUtilTest.cs b/src/ProtocolBuffers.Test/MessageUtilTest.cs
new file mode 100644
index 0000000..16495bf
--- /dev/null
+++ b/src/ProtocolBuffers.Test/MessageUtilTest.cs
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Google.ProtocolBuffers.TestProtos;
+using NUnit.Framework;
+
+namespace Google.ProtocolBuffers {
+  [TestFixture]
+  public class MessageUtilTest {
+
+    [Test]
+    [ExpectedException(typeof(ArgumentNullException))]
+    public void NullTypeName() {
+      MessageUtil.GetDefaultMessage((string)null);
+    }
+
+    [Test]
+    [ExpectedException(typeof(ArgumentException))]
+    public void InvalidTypeName() {
+      MessageUtil.GetDefaultMessage("invalidtypename");
+    }
+
+    [Test]
+    public void ValidTypeName() {
+      Assert.AreSame(TestAllTypes.DefaultInstance, MessageUtil.GetDefaultMessage(typeof(TestAllTypes).AssemblyQualifiedName));
+    }
+
+    [Test]
+    [ExpectedException(typeof(ArgumentNullException))]
+    public void NullType() {
+      MessageUtil.GetDefaultMessage((Type)null);
+    }
+
+    [Test]
+    [ExpectedException(typeof(ArgumentException))]
+    public void NonMessageType() {
+      MessageUtil.GetDefaultMessage(typeof(string));
+    }
+
+    [Test]
+    public void ValidType() {
+      Assert.AreSame(TestAllTypes.DefaultInstance, MessageUtil.GetDefaultMessage(typeof(TestAllTypes)));
+    }
+  }
+}