TINKERPOP-2055 Added tests for .Net on special numbers
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/b5420278 Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/b5420278 Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/b5420278 Branch: refs/heads/tp32 Commit: b542027825fe905c0c46b81a00fe7dfd5275e8c6 Parents: 2d3041f Author: Stephen Mallette <sp...@genoprime.com> Authored: Wed Oct 3 05:11:56 2018 -0400 Committer: Stephen Mallette <sp...@genoprime.com> Committed: Wed Oct 3 05:11:56 2018 -0400 ---------------------------------------------------------------------- .../IO/GraphSON/GraphSONReaderTests.cs | 38 ++++++++++++++++++-- .../IO/GraphSON/GraphSONWriterTests.cs | 30 ++++++++++++++++ 2 files changed, 66 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b5420278/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs index 74bf385..08a91ae 100644 --- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs +++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONReaderTests.cs @@ -24,11 +24,9 @@ using System; using System.Collections.Generic; using System.Numerics; -using Gremlin.Net.Process.Traversal; using Gremlin.Net.Structure; using Gremlin.Net.Structure.IO.GraphSON; using Moq; -using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Xunit; @@ -178,6 +176,42 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON } [Fact] + public void ShouldDeserializeNaN() + { + var serializedValue = "{\"@type\":\"g:Double\",\"@value\":'NaN'}"; + var reader = CreateStandardGraphSONReader(); + + var jObject = JObject.Parse(serializedValue); + var deserializedValue = reader.ToObject(jObject); + + Assert.Equal(Double.NaN, deserializedValue); + } + + [Fact] + public void ShouldDeserializePositiveInfinity() + { + var serializedValue = "{\"@type\":\"g:Double\",\"@value\":'Infinity'}"; + var reader = CreateStandardGraphSONReader(); + + var jObject = JObject.Parse(serializedValue); + var deserializedValue = reader.ToObject(jObject); + + Assert.Equal(Double.PositiveInfinity, deserializedValue); + } + + [Fact] + public void ShouldDeserializeNegativeInfinity() + { + var serializedValue = "{\"@type\":\"g:Double\",\"@value\":'-Infinity'}"; + var reader = CreateStandardGraphSONReader(); + + var jObject = JObject.Parse(serializedValue); + var deserializedValue = reader.ToObject(jObject); + + Assert.Equal(Double.NegativeInfinity, deserializedValue); + } + + [Fact] public void ShouldDeserializeDecimal() { var serializedValue = "{\"@type\":\"gx:BigDecimal\",\"@value\":-8.201}"; http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/b5420278/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs index a544fb3..13fbddc 100644 --- a/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs +++ b/gremlin-dotnet/test/Gremlin.Net.UnitTest/Structure/IO/GraphSON/GraphSONWriterTests.cs @@ -81,6 +81,36 @@ namespace Gremlin.Net.UnitTest.Structure.IO.GraphSON } [Fact] + public void ShouldSerializeNaN() + { + var writer = CreateStandardGraphSONWriter(); + + var graphSon = writer.WriteObject(Double.NaN); + + Assert.Equal("{\"@type\":\"g:Double\",\"@value\":\"NaN\"}", graphSon); + } + + [Fact] + public void ShouldSerializePositiveInfinity() + { + var writer = CreateStandardGraphSONWriter(); + + var graphSon = writer.WriteObject(Double.PositiveInfinity); + + Assert.Equal("{\"@type\":\"g:Double\",\"@value\":\"Infinity\"}", graphSon); + } + + [Fact] + public void ShouldSerializeNegativeInfinity() + { + var writer = CreateStandardGraphSONWriter(); + + var graphSon = writer.WriteObject(Double.NegativeInfinity); + + Assert.Equal("{\"@type\":\"g:Double\",\"@value\":\"-Infinity\"}", graphSon); + } + + [Fact] public void ShouldSerializeDecimal() { var writer = CreateStandardGraphSONWriter();