diff --git a/driver/src/main/java/org/neo4j/driver/internal/InternalPath.java b/driver/src/main/java/org/neo4j/driver/internal/InternalPath.java index 3451d6fdb0..0d8b714fe0 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalPath.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalPath.java @@ -283,7 +283,7 @@ public int hashCode() public String toString() { - return "path[" + segments + ']'; + return "path" + segments; } private void buildSegments() diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/PackStreamMessageFormatV1.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/PackStreamMessageFormatV1.java index 1789e1898a..16b2975458 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/PackStreamMessageFormatV1.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/PackStreamMessageFormatV1.java @@ -318,7 +318,9 @@ private void packValue( Value value ) throws IOException for ( Path.Segment seg : path ) { Relationship rel = seg.relationship(); - packer.pack( rel.end().equals( seg.end() ) ? relIdx.get( rel ) : -relIdx.get( rel ) ); + Identity relEndId = rel.end(); + Identity segEndId = seg.end().identity(); + packer.pack( relEndId.equals( segEndId ) ? relIdx.get( rel ) : -relIdx.get( rel ) ); packer.pack( nodeIdx.get( seg.end() ) ); } break; diff --git a/driver/src/test/java/org/neo4j/driver/internal/messaging/MessageFormatTest.java b/driver/src/test/java/org/neo4j/driver/internal/messaging/MessageFormatTest.java index 4822cf17f0..ae42153634 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/messaging/MessageFormatTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/messaging/MessageFormatTest.java @@ -18,6 +18,10 @@ */ package org.neo4j.driver.internal.messaging; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.ExpectedException; + import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; @@ -27,10 +31,6 @@ import java.util.Collections; import java.util.HashMap; -import org.junit.Rule; -import org.junit.Test; -import org.junit.rules.ExpectedException; - import org.neo4j.driver.internal.InternalNode; import org.neo4j.driver.internal.InternalPath; import org.neo4j.driver.internal.InternalRelationship; @@ -41,11 +41,9 @@ import org.neo4j.driver.v1.util.DumpMessage; import static java.util.Arrays.asList; - import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.startsWith; - import static org.neo4j.driver.v1.Values.parameters; import static org.neo4j.driver.v1.Values.value; @@ -91,12 +89,12 @@ public void shouldUnpackAllValues() throws Throwable assertSerializesValue( value( new InternalPath( new InternalNode( 1 ), - new InternalRelationship( 1, 1, 1, + new InternalRelationship( 2, 1, 3, "KNOWS", parameters() ), - new InternalNode( 1 ), - new InternalRelationship( 2, 1, 1, + new InternalNode( 3 ), + new InternalRelationship( 4, 3, 5, "LIKES", parameters() ), - new InternalNode( 1 ) + new InternalNode( 5 ) ) ) ); assertSerializesValue( value( new InternalPath( new InternalNode( 1 ) ) ) ); } @@ -141,7 +139,8 @@ private void assertSerializes( Message... messages ) throws IOException writer.flush(); // Unpack - assertThat( unpack( format, out.toByteArray() ), equalTo( asList( messages ) ) ); + ArrayList unpackedMessages = unpack( format, out.toByteArray() ); + assertThat( unpackedMessages.toString(), equalTo( asList( messages ).toString() ) ); } private ArrayList unpack( MessageFormat format, byte[] bytes ) throws IOException diff --git a/driver/src/test/java/org/neo4j/driver/internal/value/PathValueTest.java b/driver/src/test/java/org/neo4j/driver/internal/value/PathValueTest.java index 512161279b..02832c5770 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/value/PathValueTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/value/PathValueTest.java @@ -36,7 +36,7 @@ public class PathValueTest @Test public void shouldHaveSensibleToString() throws Throwable { - assertEquals("path[[(#42)-[#43:T]->(#44)]] :: PATH", pathValue().toString()); + assertEquals("path[(#42)-[#43:T]->(#44)] :: PATH", pathValue().toString()); } @Test