From 6e2d720b18bc49a888a697373d87b23dda7e3d15 Mon Sep 17 00:00:00 2001 From: M Sazzadul Hoque <7600764+sazzad16@users.noreply.github.com> Date: Tue, 31 May 2022 16:45:16 +0600 Subject: [PATCH] Read 'inf' in graph response --- .../clients/jedis/graph/ResultSetBuilder.java | 2 +- .../jedis/modules/graph/GraphValuesTest.java | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 src/test/java/redis/clients/jedis/modules/graph/GraphValuesTest.java diff --git a/src/main/java/redis/clients/jedis/graph/ResultSetBuilder.java b/src/main/java/redis/clients/jedis/graph/ResultSetBuilder.java index efca7391a3..1478efb25e 100644 --- a/src/main/java/redis/clients/jedis/graph/ResultSetBuilder.java +++ b/src/main/java/redis/clients/jedis/graph/ResultSetBuilder.java @@ -256,7 +256,7 @@ private Object deserializeScalar(List rawScalarData) { case BOOLEAN: return Boolean.parseBoolean(SafeEncoder.encode((byte[]) obj)); case DOUBLE: - return Double.parseDouble(SafeEncoder.encode((byte[]) obj)); + return BuilderFactory.DOUBLE.build(obj); case INTEGER: return (Long) obj; case STRING: diff --git a/src/test/java/redis/clients/jedis/modules/graph/GraphValuesTest.java b/src/test/java/redis/clients/jedis/modules/graph/GraphValuesTest.java new file mode 100644 index 0000000000..97d3b3011e --- /dev/null +++ b/src/test/java/redis/clients/jedis/modules/graph/GraphValuesTest.java @@ -0,0 +1,25 @@ +package redis.clients.jedis.modules.graph; + +import static org.junit.Assert.assertEquals; + +import org.junit.BeforeClass; +import org.junit.Test; +import redis.clients.jedis.graph.Record; +import redis.clients.jedis.graph.ResultSet; +import redis.clients.jedis.modules.RedisModuleCommandsTestBase; + +public class GraphValuesTest extends RedisModuleCommandsTestBase { + + @BeforeClass + public static void prepare() { + RedisModuleCommandsTestBase.prepare(); + } + + @Test + public void parseInfinity() { + ResultSet rs = client.graphQuery("db", "RETURN 10^100000"); + assertEquals(1, rs.size()); + Record r = rs.iterator().next(); + assertEquals(Double.POSITIVE_INFINITY, r.getValue(0), 0d); + } +}