Skip to content
This repository was archived by the owner on Jul 6, 2023. It is now read-only.

Commit 7dd8c11

Browse files
committed
adding point type
1 parent b82ea78 commit 7dd8c11

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

cypher-shell/src/main/java/org/neo4j/shell/prettyprint/OutputFormatter.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.neo4j.driver.v1.Values;
66
import org.neo4j.driver.v1.summary.Plan;
77
import org.neo4j.driver.v1.summary.ResultSummary;
8+
import org.neo4j.driver.v1.types.IsoDuration;
89
import org.neo4j.driver.v1.types.Node;
910
import org.neo4j.driver.v1.types.Path;
1011
import org.neo4j.driver.v1.types.Point;
@@ -49,6 +50,7 @@ public interface OutputFormatter {
4950
case POINT:
5051
return pointAsString(value.asPoint());
5152
case DURATION:
53+
return durationAsString(value.asIsoDuration());
5254
case ANY:
5355
case BOOLEAN:
5456
case BYTES:
@@ -81,6 +83,11 @@ default String pointAsString(Point point) {
8183
return stringBuilder.toString();
8284
}
8385

86+
@Nonnull
87+
default String durationAsString(IsoDuration duration) {
88+
return duration.toString();
89+
}
90+
8491
@Nonnull
8592
default String pathAsString(@Nonnull Path path) {
8693
List<String> list = new ArrayList<>(path.length());

cypher-shell/src/test/java/org/neo4j/shell/prettyprint/TableOutputFormatterTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22

33
import org.hamcrest.CoreMatchers;
44
import org.junit.Test;
5+
import org.neo4j.driver.internal.InternalIsoDuration;
56
import org.neo4j.driver.internal.InternalNode;
67
import org.neo4j.driver.internal.InternalPath;
78
import org.neo4j.driver.internal.InternalPoint2D;
89
import org.neo4j.driver.internal.InternalPoint3D;
910
import org.neo4j.driver.internal.InternalRecord;
1011
import org.neo4j.driver.internal.InternalRelationship;
12+
import org.neo4j.driver.internal.value.DurationValue;
1113
import org.neo4j.driver.internal.value.NodeValue;
1214
import org.neo4j.driver.internal.value.PathValue;
1315
import org.neo4j.driver.internal.value.PointValue;
@@ -94,6 +96,25 @@ public void prettyPrintPoint() throws Exception {
9496
assertThat(actual, containsString("| point({srid:4326, x:1.7, y:26.79, z:34.23}) |"));
9597
}
9698

99+
@Test
100+
public void prettyPrintDuration() throws Exception {
101+
// given
102+
StatementResult statementResult = mock(StatementResult.class);
103+
List<String> keys = asList("d");
104+
105+
when(statementResult.summary()).thenReturn(mock(ResultSummary.class));
106+
when(statementResult.keys()).thenReturn(keys);
107+
108+
Value duration = new DurationValue(new InternalIsoDuration(1, 2, 3, 4));
109+
Record record = new InternalRecord(keys, new Value[]{duration});
110+
111+
// when
112+
String actual = verbosePrinter.format(new BoltResult(asList(record), statementResult));
113+
114+
// then
115+
assertThat(actual, containsString("| Duration{months=1, days=2, seconds=3, nanoseconds=4} |"));
116+
}
117+
97118
@Test
98119
public void prettyPrintNode() throws Exception {
99120
// given

0 commit comments

Comments
 (0)