private Value getPropertyValueFromStore( long nodeReference ) { try ( NodeCursor storeCursor = cursors.allocateNodeCursor(); PropertyCursor propertyCursor = cursors.allocatePropertyCursor() ) { read.singleNode( nodeReference, storeCursor ); storeCursor.next(); storeCursor.properties( propertyCursor ); propertyCursor.next(); return propertyCursor.propertyValue(); } }
try ( NodeCursor node = cursors.allocateNodeCursor(); PropertyCursor props = cursors.allocatePropertyCursor() )
@Test public void shouldNotAccessNonExistentProperties() { // given try ( NodeCursor node = cursors.allocateNodeCursor(); PropertyCursor props = cursors.allocatePropertyCursor() ) { // when read.singleNode( bare, node ); assertTrue( "node by reference", node.next() ); assertFalse( "no properties", hasProperties( node, props ) ); node.properties( props ); assertFalse( "no properties by direct method", props.next() ); read.nodeProperties( node.nodeReference(), node.propertiesReference(), props ); assertFalse( "no properties via property ref", props.next() ); assertFalse( "only one node", node.next() ); } }
private void assertAccessSingleProperty( long nodeId, Object expectedValue, ValueGroup expectedValueType ) { // given try ( NodeCursor node = cursors.allocateNodeCursor(); PropertyCursor props = cursors.allocatePropertyCursor() ) { // when read.singleNode( nodeId, node ); assertTrue( "node by reference", node.next() ); assertTrue( "has properties", hasProperties( node, props ) ); node.properties( props ); assertTrue( "has properties by direct method", props.next() ); assertEquals( "correct value", expectedValue, props.propertyValue() ); assertEquals( "correct value type ", expectedValueType, props.propertyType() ); assertFalse( "single property", props.next() ); read.nodeProperties( node.nodeReference(), node.propertiesReference(), props ); assertTrue( "has properties via property ref", props.next() ); assertEquals( "correct value", expectedValue, props.propertyValue() ); assertFalse( "single property", props.next() ); } }