diff options
author | Jon Skeet <skeet@pobox.com> | 2008-08-15 20:40:05 +0100 |
---|---|---|
committer | Jon Skeet <skeet@pobox.com> | 2008-08-15 20:40:05 +0100 |
commit | 40c2221ef44e70181df77ba344e61e8689bd0bfb (patch) | |
tree | 59641858c6d5f42bd9b448f17bbc4899f922c208 /csharp/ProtocolBuffers.Test/TextFormatTest.cs | |
parent | 7941ebf198e60ab94616aa0eeae722b74b076e42 (diff) | |
download | protobuf-40c2221ef44e70181df77ba344e61e8689bd0bfb.tar.gz protobuf-40c2221ef44e70181df77ba344e61e8689bd0bfb.tar.bz2 protobuf-40c2221ef44e70181df77ba344e61e8689bd0bfb.zip |
Updated C# tests and code for TextFormat to match Java.
Diffstat (limited to 'csharp/ProtocolBuffers.Test/TextFormatTest.cs')
-rw-r--r-- | csharp/ProtocolBuffers.Test/TextFormatTest.cs | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/csharp/ProtocolBuffers.Test/TextFormatTest.cs b/csharp/ProtocolBuffers.Test/TextFormatTest.cs index a8cd3557..8d30b96c 100644 --- a/csharp/ProtocolBuffers.Test/TextFormatTest.cs +++ b/csharp/ProtocolBuffers.Test/TextFormatTest.cs @@ -219,6 +219,37 @@ namespace Google.ProtocolBuffers { } [Test] + public void ParseCompatibility() { + string original = "repeated_float: inf\n" + + "repeated_float: -inf\n" + + "repeated_float: nan\n" + + "repeated_float: inff\n" + + "repeated_float: -inff\n" + + "repeated_float: nanf\n" + + "repeated_float: 1.0f\n" + + "repeated_float: infinityf\n" + + "repeated_float: -Infinityf\n" + + "repeated_double: infinity\n" + + "repeated_double: -infinity\n" + + "repeated_double: nan\n"; + string canonical = "repeated_float: Infinity\n" + + "repeated_float: -Infinity\n" + + "repeated_float: NaN\n" + + "repeated_float: Infinity\n" + + "repeated_float: -Infinity\n" + + "repeated_float: NaN\n" + + "repeated_float: 1\n" + // Java has 1.0; this is fine + "repeated_float: Infinity\n" + + "repeated_float: -Infinity\n" + + "repeated_double: Infinity\n" + + "repeated_double: -Infinity\n" + + "repeated_double: NaN\n"; + TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); + TextFormat.Merge(original, builder); + Assert.AreEqual(canonical, builder.Build().ToString()); + } + + [Test] public void ParseExotic() { TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); TextFormat.Merge(ExoticText, builder); @@ -259,6 +290,19 @@ namespace Google.ProtocolBuffers { Assert.AreEqual(1, builder.OptionalGroup.A); } + [Test] + public void ParseComment() { + TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); + TextFormat.Merge( + "# this is a comment\n" + + "optional_int32: 1 # another comment\n" + + "optional_int64: 2\n" + + "# EOF comment", builder); + Assert.AreEqual(1, builder.OptionalInt32); + Assert.AreEqual(2, builder.OptionalInt64); + } + + private static void AssertParseError(string error, string text) { TestAllTypes.Builder builder = TestAllTypes.CreateBuilder(); try { |