|
|
|
@ -512,6 +512,22 @@ namespace Google.Protobuf |
|
|
|
|
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> |
|
|
|
|
/// 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 |
|
|
|
|