Skip to content

Commit 44269ba

Browse files
author
Zhen Li
committed
Merge pull request #104 from zhenlineo/1.0-pack-unpack-path
Bug fix in packing/unpacking Path
2 parents e3538cc + 372b3ab commit 44269ba

File tree

4 files changed

+15
-14
lines changed

4 files changed

+15
-14
lines changed

driver/src/main/java/org/neo4j/driver/internal/InternalPath.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ public int hashCode()
283283
public String toString()
284284
{
285285

286-
return "path[" + segments + ']';
286+
return "path" + segments;
287287
}
288288

289289
private void buildSegments()

driver/src/main/java/org/neo4j/driver/internal/messaging/PackStreamMessageFormatV1.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,9 @@ private void packValue( Value value ) throws IOException
318318
for ( Path.Segment seg : path )
319319
{
320320
Relationship rel = seg.relationship();
321-
packer.pack( rel.end().equals( seg.end() ) ? relIdx.get( rel ) : -relIdx.get( rel ) );
321+
Identity relEndId = rel.end();
322+
Identity segEndId = seg.end().identity();
323+
packer.pack( relEndId.equals( segEndId ) ? relIdx.get( rel ) : -relIdx.get( rel ) );
322324
packer.pack( nodeIdx.get( seg.end() ) );
323325
}
324326
break;

driver/src/test/java/org/neo4j/driver/internal/messaging/MessageFormatTest.java

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@
1818
*/
1919
package org.neo4j.driver.internal.messaging;
2020

21+
import org.junit.Rule;
22+
import org.junit.Test;
23+
import org.junit.rules.ExpectedException;
24+
2125
import java.io.ByteArrayInputStream;
2226
import java.io.ByteArrayOutputStream;
2327
import java.io.IOException;
@@ -27,10 +31,6 @@
2731
import java.util.Collections;
2832
import java.util.HashMap;
2933

30-
import org.junit.Rule;
31-
import org.junit.Test;
32-
import org.junit.rules.ExpectedException;
33-
3434
import org.neo4j.driver.internal.InternalNode;
3535
import org.neo4j.driver.internal.InternalPath;
3636
import org.neo4j.driver.internal.InternalRelationship;
@@ -41,11 +41,9 @@
4141
import org.neo4j.driver.v1.util.DumpMessage;
4242

4343
import static java.util.Arrays.asList;
44-
4544
import static org.hamcrest.MatcherAssert.assertThat;
4645
import static org.hamcrest.Matchers.equalTo;
4746
import static org.hamcrest.Matchers.startsWith;
48-
4947
import static org.neo4j.driver.v1.Values.parameters;
5048
import static org.neo4j.driver.v1.Values.value;
5149

@@ -91,12 +89,12 @@ public void shouldUnpackAllValues() throws Throwable
9189
assertSerializesValue( value(
9290
new InternalPath(
9391
new InternalNode( 1 ),
94-
new InternalRelationship( 1, 1, 1,
92+
new InternalRelationship( 2, 1, 3,
9593
"KNOWS", parameters() ),
96-
new InternalNode( 1 ),
97-
new InternalRelationship( 2, 1, 1,
94+
new InternalNode( 3 ),
95+
new InternalRelationship( 4, 3, 5,
9896
"LIKES", parameters() ),
99-
new InternalNode( 1 )
97+
new InternalNode( 5 )
10098
) ) );
10199
assertSerializesValue( value( new InternalPath( new InternalNode( 1 ) ) ) );
102100
}
@@ -141,7 +139,8 @@ private void assertSerializes( Message... messages ) throws IOException
141139
writer.flush();
142140

143141
// Unpack
144-
assertThat( unpack( format, out.toByteArray() ), equalTo( asList( messages ) ) );
142+
ArrayList<Message> unpackedMessages = unpack( format, out.toByteArray() );
143+
assertThat( unpackedMessages.toString(), equalTo( asList( messages ).toString() ) );
145144
}
146145

147146
private ArrayList<Message> unpack( MessageFormat format, byte[] bytes ) throws IOException

driver/src/test/java/org/neo4j/driver/internal/value/PathValueTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public class PathValueTest
3636
@Test
3737
public void shouldHaveSensibleToString() throws Throwable
3838
{
39-
assertEquals("path[[(#42)-[#43:T]->(#44)]] :: PATH", pathValue().toString());
39+
assertEquals("path[(#42)-[#43:T]->(#44)] :: PATH", pathValue().toString());
4040
}
4141

4242
@Test

0 commit comments

Comments
 (0)