@Test public void testNodeGetProperties() { Node node1 = getGraphDb().getNodeById( node1Id ); assertTrue( !node1.hasProperty( null ) ); Iterator<String> keys = node1.getPropertyKeys().iterator(); keys.next(); keys.next(); assertTrue( node1.hasProperty( key1 ) ); assertTrue( node1.hasProperty( key2 ) ); }
private void assertNoProperty( long node, String propertyKey ) { try ( org.neo4j.graphdb.Transaction ignore = graphDb.beginTx() ) { assertFalse( graphDb.getNodeById( node ).hasProperty( propertyKey ) ); } }
@Test public void shouldUseOriginalTypeOnEmptyCollectionWhenSettingAllProperties() throws Exception { // Given Node node = db.createNode(); node.setProperty( "name", "bob" ); node.setProperty( "arr", new String[]{"a","b"} ); // When propSetter.setAllProperties( node, map("arr", new ArrayList<String>()) ); // Then assertThat( node.hasProperty( "name" ), is(false)); assertThat( node.getProperty( "arr" ), is(new String[]{})); }
@Test public void shouldSetAllProperties() throws Exception { // Given Node node = db.createNode(); node.setProperty( "name", "bob" ); node.setProperty( "age", 12 ); // When propSetter.setAllProperties( node, map( "name", "Steven", "color", 123 ) ); // Then assertThat( node.getProperty( "name" ), is("Steven")); assertThat( node.getProperty( "color" ), is(123)); assertThat( node.hasProperty( "age" ), is(false)); }
@Test public void shouldBeAbleToRemoveNodeProperty() throws Exception { Map<String, Object> properties = new HashMap<>(); properties.put( "foo", "bar" ); properties.put( "number", 15 ); long nodeId = createNode( properties ); actions.removeNodeProperty( nodeId, "foo" ); try ( Transaction tx = database.getGraph().beginTx() ) { Node node = database.getGraph().getNodeById( nodeId ); assertEquals( 15, node.getProperty( "number" ) ); assertFalse( node.hasProperty( "foo" ) ); tx.success(); } }
@Override void perform( Graph graph, ExpectedTransactionData expectations ) { Node node = graph.randomNode(); if ( node != null ) { String key = graph.randomPropertyKey(); if ( node.hasProperty( key ) ) { Object valueBefore = node.removeProperty( key ); expectations.removedProperty( node, key, valueBefore ); debug( node + " " + key + "=" + valueBefore ); } } } },
private long ensurePropertyIsCachedLazyProperty( GraphDatabaseAPI slave, String key ) { long nId; try ( Transaction tx = slave.beginTx() ) { Node n = slave.createNode(); nId = n.getId(); n.setProperty( key, new long[]{-1, 2, 2, 3, 4, 5, 5} ); tx.success(); } try ( Transaction tx = slave.beginTx() ) { slave.getNodeById( nId ).hasProperty( key ); tx.success(); } return nId; }
@Test public void testDateTimeArrayWithZoneOffsetAndZoneID() { ZonedDateTime[] array = new ZonedDateTime[]{DateTimeValue.datetime( 1991, 1, 1, 0, 0, 13, 37, "-01:00" ).asObjectCopy(), DateTimeValue.datetime( 1992, 2, 28, 1, 15, 0, 4000, "+11:00" ).asObjectCopy(), DateTimeValue.datetime( 1992, 2, 28, 1, 15, 0, 4000, ZoneId.of( "Europe/Stockholm" ) ).asObjectCopy()}; String key = "testarray"; node1.setProperty( key, array ); newTransaction(); ZonedDateTime[] propertyValue = (ZonedDateTime[]) node1.getProperty( key ); assertEquals( array.length, propertyValue.length ); for ( int i = 0; i < array.length; i++ ) { assertEquals( array[i], propertyValue[i] ); } node1.removeProperty( key ); newTransaction(); assertTrue( !node1.hasProperty( key ) ); }
@Test public void testPointArray() { Point[] array = new Point[]{Values.pointValue( CoordinateReferenceSystem.Cartesian_3D, 1, 1, 1 ), Values.pointValue( CoordinateReferenceSystem.Cartesian_3D, 2, 1, 3 )}; String key = "testpointarray"; node1.setProperty( key, array ); newTransaction(); Point[] propertyValue = null; propertyValue = (Point[]) node1.getProperty( key ); assertEquals( array.length, propertyValue.length ); for ( int i = 0; i < array.length; i++ ) { assertEquals( array[i], propertyValue[i] ); } node1.removeProperty( key ); newTransaction(); assertTrue( !node1.hasProperty( key ) ); }
@Test public void testBooleanType() { String key = "testbool"; node1.setProperty( key, Boolean.TRUE ); newTransaction(); Boolean propertyValue = (Boolean) node1.getProperty( key ); assertEquals( Boolean.TRUE, propertyValue ); node1.setProperty( key, Boolean.FALSE ); newTransaction(); propertyValue = (Boolean) node1.getProperty( key ); assertEquals( Boolean.FALSE, propertyValue ); node1.removeProperty( key ); newTransaction(); assertTrue( !node1.hasProperty( key ) ); }
@Test public void testNodeMultiRemoveProperty() { Node node = getGraphDb().createNode(); node.setProperty( "key0", "0" ); node.setProperty( "key1", "1" ); node.setProperty( "key2", "2" ); node.setProperty( "key3", "3" ); node.setProperty( "key4", "4" ); newTransaction(); node.removeProperty( "key3" ); node.removeProperty( "key2" ); node.removeProperty( "key3" ); newTransaction(); assertEquals( "0", node.getProperty( "key0" ) ); assertEquals( "1", node.getProperty( "key1" ) ); assertEquals( "4", node.getProperty( "key4" ) ); assertTrue( !node.hasProperty( "key2" ) ); assertTrue( !node.hasProperty( "key3" ) ); node.delete(); }
@Test public void testDoubleType() { Double dValue = 45.678d; String key = "testdouble"; node1.setProperty( key, dValue ); newTransaction(); Double propertyValue; propertyValue = (Double) node1.getProperty( key ); assertEquals( dValue, propertyValue ); dValue = 56784.3243d; node1.setProperty( key, dValue ); newTransaction(); propertyValue = (Double) node1.getProperty( key ); assertEquals( dValue, propertyValue ); node1.removeProperty( key ); newTransaction(); assertTrue( !node1.hasProperty( key ) ); }
@Test public void testShortType() { Short sValue = (short) 453; String key = "testshort"; node1.setProperty( key, sValue ); newTransaction(); Short propertyValue = null; propertyValue = (Short) node1.getProperty( key ); assertEquals( sValue, propertyValue ); sValue = (short) 5335; node1.setProperty( key, sValue ); newTransaction(); propertyValue = (Short) node1.getProperty( key ); assertEquals( sValue, propertyValue ); node1.removeProperty( key ); newTransaction(); assertTrue( !node1.hasProperty( key ) ); }
@Test public void testByteType() { byte b = (byte) 177; Byte bValue = b; String key = "testbyte"; node1.setProperty( key, bValue ); newTransaction(); Byte propertyValue = null; propertyValue = (Byte) node1.getProperty( key ); assertEquals( bValue, propertyValue ); bValue = (byte) 200; node1.setProperty( key, bValue ); newTransaction(); propertyValue = (Byte) node1.getProperty( key ); assertEquals( bValue, propertyValue ); node1.removeProperty( key ); newTransaction(); assertTrue( !node1.hasProperty( key ) ); }
@Test public void testFloatType() { Float fValue = 45.678f; String key = "testfloat"; node1.setProperty( key, fValue ); newTransaction(); Float propertyValue = null; propertyValue = (Float) node1.getProperty( key ); assertEquals( fValue, propertyValue ); fValue = 5684.3243f; node1.setProperty( key, fValue ); newTransaction(); propertyValue = (Float) node1.getProperty( key ); assertEquals( fValue, propertyValue ); node1.removeProperty( key ); newTransaction(); assertTrue( !node1.hasProperty( key ) ); }
@Test public void testDateArray() { LocalDate[] array = new LocalDate[]{DateValue.date( 2018, 1, 31 ).asObjectCopy(), DateValue.epochDate( 2147483648L ).asObjectCopy()}; String key = "testarray"; node1.setProperty( key, array ); newTransaction(); LocalDate[] propertyValue = (LocalDate[]) node1.getProperty( key ); assertEquals( array.length, propertyValue.length ); for ( int i = 0; i < array.length; i++ ) { assertEquals( array[i], propertyValue[i] ); } node1.removeProperty( key ); newTransaction(); assertTrue( !node1.hasProperty( key ) ); }
@Test public void testLocalDateTimeArray() { LocalDateTime[] array = new LocalDateTime[]{LocalDateTimeValue.localDateTime( 1991, 1, 1, 0, 0, 13, 37 ).asObjectCopy(), LocalDateTimeValue.localDateTime( 1992, 2, 28, 1, 15, 0, 4000 ).asObjectCopy()}; String key = "testarray"; node1.setProperty( key, array ); newTransaction(); LocalDateTime[] propertyValue = (LocalDateTime[]) node1.getProperty( key ); assertEquals( array.length, propertyValue.length ); for ( int i = 0; i < array.length; i++ ) { assertEquals( array[i], propertyValue[i] ); } node1.removeProperty( key ); newTransaction(); assertTrue( !node1.hasProperty( key ) ); }
@Test public void testLocalTimeArray() { LocalTime[] array = new LocalTime[]{LocalTimeValue.localTime( 0, 0, 0, 37 ).asObjectCopy(), LocalTimeValue.localTime( 0, 0, 13, 37 ).asObjectCopy()}; String key = "testarray"; node1.setProperty( key, array ); newTransaction(); LocalTime[] propertyValue = (LocalTime[]) node1.getProperty( key ); assertEquals( array.length, propertyValue.length ); for ( int i = 0; i < array.length; i++ ) { assertEquals( array[i], propertyValue[i] ); } node1.removeProperty( key ); newTransaction(); assertTrue( !node1.hasProperty( key ) ); }
@Test public void testDurationArray() { TemporalAmount[] array = new TemporalAmount[]{DurationValue.duration( 57, 57, 57, 57 ).asObjectCopy(), DurationValue.duration( -40, -189, -6247, -1 ).asObjectCopy()}; String key = "testarray"; node1.setProperty( key, array ); newTransaction(); TemporalAmount[] propertyValue = (TemporalAmount[]) node1.getProperty( key ); assertEquals( array.length, propertyValue.length ); for ( int i = 0; i < array.length; i++ ) { assertEquals( array[i], propertyValue[i] ); } node1.removeProperty( key ); newTransaction(); assertTrue( !node1.hasProperty( key ) ); }
@Test public void testDateTimeArrayWithZoneOffset() { ZonedDateTime[] array = new ZonedDateTime[]{DateTimeValue.datetime( 1991, 1, 1, 0, 0, 13, 37, "-01:00" ).asObjectCopy(), DateTimeValue.datetime( 1992, 2, 28, 1, 15, 0, 4000, "+11:00" ).asObjectCopy()}; String key = "testarray"; node1.setProperty( key, array ); newTransaction(); ZonedDateTime[] propertyValue = (ZonedDateTime[]) node1.getProperty( key ); assertEquals( array.length, propertyValue.length ); for ( int i = 0; i < array.length; i++ ) { assertEquals( array[i], propertyValue[i] ); } node1.removeProperty( key ); newTransaction(); assertTrue( !node1.hasProperty( key ) ); }