@Override public void writePath( NodeValue[] nodes, RelationshipValue[] relationships ) { if ( nodes.length == 0 ) { return; } //Path guarantees that nodes.length = edges.length = 1 nodes[0].writeTo( this ); for ( int i = 0; i < relationships.length; i++ ) { relationships[i].writeTo( this ); append( ">" ); nodes[i + 1].writeTo( this ); } }
@Test void shouldHandleEdgeValueWithoutProperties() { NodeValue startNode = VirtualValues.nodeValue( 1L, Values.stringArray( "L" ), EMPTY_MAP ); NodeValue endNode = VirtualValues.nodeValue( 2L, Values.stringArray( "L" ), EMPTY_MAP ); RelationshipValue rel = VirtualValues.relationshipValue( 42L, startNode, endNode, stringValue( "R" ), EMPTY_MAP ); PrettyPrinter printer = new PrettyPrinter(); // When rel.writeTo( printer ); // Then assertThat( printer.value(), equalTo( "-[id=42 :R]-" ) ); }
@Test public void shouldHandleRelationships() { // Given RelationshipValue relValue = relationshipValue( 1L, nodeValue( 42L, stringArray( "L" ), EMPTY_MAP ), nodeValue( 42L, stringArray( "L" ), EMPTY_MAP ), stringValue( "R" ), EMPTY_MAP ); // When relValue.writeTo( converter ); // Then assertThat( converter.value(), equalTo( VirtualValues.relationship( 1L ) ) ); }
@Test void shouldHandleEdgeValue() { // Given NodeValue startNode = VirtualValues.nodeValue( 1L, Values.stringArray( "L" ), EMPTY_MAP ); NodeValue endNode = VirtualValues.nodeValue( 2L, Values.stringArray( "L" ), EMPTY_MAP ); RelationshipValue rel = VirtualValues.relationshipValue( 42L, startNode, endNode, stringValue( "R" ), props( "foo", intValue( 42 ), "bar", list( intValue( 1337 ), stringValue( "baz" ) ) ) ); PrettyPrinter printer = new PrettyPrinter(); // When rel.writeTo( printer ); // Then assertThat( printer.value(), equalTo( "-[id=42 :R {bar: [1337, \"baz\"], foo: 42}]-" ) ); }
@Override public void writePath( NodeValue[] nodes, RelationshipValue[] relationships ) { if ( nodes.length == 0 ) { return; } //Path guarantees that nodes.length = edges.length = 1 nodes[0].writeTo( this ); for ( int i = 0; i < relationships.length; i++ ) { relationships[i].writeTo( this ); append( ">" ); nodes[i + 1].writeTo( this ); } }