Github user danielcweber commented on a diff in the pull request:
https://github.com/apache/tinkerpop/pull/842#discussion_r185881533
--- Diff:
gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs
---
@@ -320,6 +323,175 @@ public void ShouldDeserializeTraverser()
Assert.NotNull(d);
Assert.Equal("g:Traverser", (string)d["@type"]);
}
+
+ [Fact]
+ public void ShouldDeserializeDurationToTimeSpan()
+ {
+ var serializedValue =
"{\"@type\":\"gx:Duration\",\"@value\":\"PT120H\"}";
+ var reader = CreateStandardGraphSONReader();
+
+ var jObject = JObject.Parse(serializedValue);
+ TimeSpan deserializedValue = reader.ToObject(jObject);
+
+ Assert.Equal(TimeSpan.FromDays(5), deserializedValue);
+ }
+
+ [Fact]
+ public void ShouldDeserializeBigInteger()
+ {
+ var serializedValue =
"{\"@type\":\"gx:BigInteger\",\"@value\":123456789}";
+ var reader = CreateStandardGraphSONReader();
+
+ var jObject = JObject.Parse(serializedValue);
+ BigInteger deserializedValue = reader.ToObject(jObject);
+
+ Assert.Equal(BigInteger.Parse("123456789"), deserializedValue);
+ }
+
+ [Fact]
+ public void ShouldDeserializeBigIntegerValueAsString()
+ {
+ var serializedValue =
"{\"@type\":\"gx:BigInteger\",\"@value\":\"123456789\"}";
+ var reader = CreateStandardGraphSONReader();
+
+ var jObject = JObject.Parse(serializedValue);
+ BigInteger deserializedValue = reader.ToObject(jObject);
+
+ Assert.Equal(BigInteger.Parse("123456789"), deserializedValue);
+ }
+
+ [Fact]
+ public void CannotDeserializeTooBigIntegerWithOldNewtonsoftJson()
--- End diff --
Done.
---