@ -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