aboutsummaryrefslogtreecommitdiff
path: root/csharp/ProtocolBuffers.Test/TextFormatTest.cs
diff options
context:
space:
mode:
authorJon Skeet <skeet@pobox.com>2008-08-15 20:40:05 +0100
committerJon Skeet <skeet@pobox.com>2008-08-15 20:40:05 +0100
commit40c2221ef44e70181df77ba344e61e8689bd0bfb (patch)
tree59641858c6d5f42bd9b448f17bbc4899f922c208 /csharp/ProtocolBuffers.Test/TextFormatTest.cs
parent7941ebf198e60ab94616aa0eeae722b74b076e42 (diff)
downloadprotobuf-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.cs44
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 {