Browse Source

Merge pull request #1518 from jskeet/move_test

Move test for standalone BoolValue to JsonParserTest
Jon Skeet 9 years ago
parent
commit
371d341c7e

+ 16 - 0
csharp/src/Google.Protobuf.Test/JsonFormatterTest.cs

@@ -512,6 +512,22 @@ namespace Google.Protobuf
             Assert.Throws<InvalidOperationException>(() => JsonFormatter.Default.Format(any));
             Assert.Throws<InvalidOperationException>(() => JsonFormatter.Default.Format(any));
         }
         }
 
 
+        [Test]
+        [TestCase(typeof(BoolValue), true, "true")]
+        [TestCase(typeof(Int32Value), 32, "32")]
+        [TestCase(typeof(Int64Value), 32L, "\"32\"")]
+        [TestCase(typeof(UInt32Value), 32U, "32")]
+        [TestCase(typeof(UInt64Value), 32UL, "\"32\"")]
+        [TestCase(typeof(StringValue), "foo", "\"foo\"")]
+        [TestCase(typeof(FloatValue), 1.5f, "1.5")]
+        [TestCase(typeof(DoubleValue), 1.5d, "1.5")]
+        public void Wrappers_Standalone(System.Type wrapperType, object value, string expectedJson)
+        {
+            IMessage populated = (IMessage)Activator.CreateInstance(wrapperType);
+            populated.Descriptor.Fields[WrappersReflection.WrapperValueFieldNumber].Accessor.SetValue(populated, value);
+            Assert.AreEqual(expectedJson, JsonFormatter.Default.Format(populated));
+        }
+
         /// <summary>
         /// <summary>
         /// Checks that the actual JSON is the same as the expected JSON - but after replacing
         /// Checks that the actual JSON is the same as the expected JSON - but after replacing
         /// all apostrophes in the expected JSON with double quotes. This basically makes the tests easier
         /// all apostrophes in the expected JSON with double quotes. This basically makes the tests easier

+ 3 - 0
csharp/src/Google.Protobuf.Test/JsonParserTest.cs

@@ -133,9 +133,12 @@ namespace Google.Protobuf
         }
         }
 
 
         [Test]
         [Test]
+        [TestCase(typeof(BoolValue), "true", true)]
         [TestCase(typeof(Int32Value), "32", 32)]
         [TestCase(typeof(Int32Value), "32", 32)]
         [TestCase(typeof(Int64Value), "32", 32L)]
         [TestCase(typeof(Int64Value), "32", 32L)]
+        [TestCase(typeof(Int64Value), "\"32\"", 32L)]
         [TestCase(typeof(UInt32Value), "32", 32U)]
         [TestCase(typeof(UInt32Value), "32", 32U)]
+        [TestCase(typeof(UInt64Value), "\"32\"", 32UL)]
         [TestCase(typeof(UInt64Value), "32", 32UL)]
         [TestCase(typeof(UInt64Value), "32", 32UL)]
         [TestCase(typeof(StringValue), "\"foo\"", "foo")]
         [TestCase(typeof(StringValue), "\"foo\"", "foo")]
         [TestCase(typeof(FloatValue), "1.5", 1.5f)]
         [TestCase(typeof(FloatValue), "1.5", 1.5f)]

+ 0 - 7
csharp/src/Google.Protobuf.Test/WellKnownTypes/WrappersTest.cs

@@ -417,12 +417,5 @@ namespace Google.Protobuf.WellKnownTypes
             TestWellKnownTypes.Descriptor.Fields[TestWellKnownTypes.StringFieldFieldNumber].Accessor.Clear(message);
             TestWellKnownTypes.Descriptor.Fields[TestWellKnownTypes.StringFieldFieldNumber].Accessor.Clear(message);
             Assert.IsNull(message.StringField);
             Assert.IsNull(message.StringField);
         }
         }
-
-        [Test]
-        public void GivenBoolValueWhenPerformingRoundTripEncodingViaJsonThenShouldNotExpectObjectAtTopLevel()
-        {
-            var value = new BoolValue { Value = true };
-            Assert.AreEqual(value, JsonParser.Default.Parse<BoolValue>(JsonFormatter.Default.Format(value)));
-        }
     }
     }
 }
 }