Added support for negative enum values and tests
diff --git a/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs b/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs
index 50bf28d..2da0080 100644
--- a/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs
+++ b/src/ProtocolBuffers/CodedOutputStream.ComputeSize.cs
@@ -202,7 +202,7 @@
         /// </summary>

         public static int ComputeEnumSize(int fieldNumber, int value)

         {

-            return ComputeTagSize(fieldNumber) + ComputeRawVarint32Size((uint) value);

+            return ComputeTagSize(fieldNumber) + ComputeEnumSizeNoTag(value);

         }

 

         /// <summary>

@@ -391,7 +391,7 @@
         /// </summary>

         public static int ComputeEnumSizeNoTag(int value)

         {

-            return ComputeRawVarint32Size((uint) value);

+            return ComputeInt32SizeNoTag(value);

         }

 

         /// <summary>