use of org.neo4j.storageengine.api.EntityUpdates in project neo4j by neo4j.
the class EntityTokenUpdatesTest method shouldGenerateUpdateForAddedTokens.
@ParameterizedTest
@EnumSource(Entity.class)
void shouldGenerateUpdateForAddedTokens(Entity entity) {
EntityUpdates updates = EntityUpdates.forEntity(ENTITY_ID, false).withTokens(EMPTY).withTokensAfter(TOKEN_1_ID, TOKEN_2_ID).build();
assertThat(updates.tokenUpdateForIndexKey(entity.getTokenIndex(), -1)).contains(IndexEntryUpdate.change(ENTITY_ID, entity.getTokenIndex(), EMPTY, new long[] { TOKEN_1_ID, TOKEN_2_ID }));
}
use of org.neo4j.storageengine.api.EntityUpdates in project neo4j by neo4j.
the class EntityValueUpdatesTest method shouldGenerateUpdateWhenCompletingCompositeSchemaIndexUpdate.
@ParameterizedTest
@EnumSource(Entity.class)
void shouldGenerateUpdateWhenCompletingCompositeSchemaIndexUpdate(Entity entity) {
// When
EntityUpdates updates = EntityUpdates.forEntity(ENTITY_ID, false).withTokens(TOKEN).withTokensAfter(TOKEN).added(PROPERTY_KEY_ID_1, Values.of("Neo")).added(PROPERTY_KEY_ID_3, Values.pointValue(CoordinateReferenceSystem.WGS84, 12.3, 45.6)).build();
// Then
assertThat(updates.valueUpdatesForIndexKeys(singleton(entity.index123()), propertyLoader(PROPERTY_2), entity.type(), NULL, INSTANCE)).contains(IndexEntryUpdate.add(ENTITY_ID, entity.index123(), VALUES_123));
}
use of org.neo4j.storageengine.api.EntityUpdates in project neo4j by neo4j.
the class EntityValueUpdatesTest method shouldNotLoadPropertyForNoTokenAndNoPropertyChanges.
@ParameterizedTest
@EnumSource(Entity.class)
void shouldNotLoadPropertyForNoTokenAndNoPropertyChanges(Entity entity) {
// When
EntityUpdates updates = EntityUpdates.forEntity(ENTITY_ID, false).withTokens(TOKEN).build();
// Then
assertThat(updates.valueUpdatesForIndexKeys(singleton(entity.index1()), assertNoLoading(), entity.type(), NULL, INSTANCE)).isEmpty();
}
use of org.neo4j.storageengine.api.EntityUpdates in project neo4j by neo4j.
the class EntityValueUpdatesTest method shouldNotGenerateUpdatesForTokenAdditionWithNoProperties.
@ParameterizedTest
@EnumSource(Entity.class)
void shouldNotGenerateUpdatesForTokenAdditionWithNoProperties(Entity entity) {
// When
EntityUpdates updates = EntityUpdates.forEntity(ENTITY_ID, false).withTokens(EMPTY).withTokensAfter(TOKEN).build();
// Then
assertThat(updates.valueUpdatesForIndexKeys(entity.indexes(), propertyLoader(), entity.type(), NULL, INSTANCE)).isEmpty();
}
use of org.neo4j.storageengine.api.EntityUpdates in project neo4j by neo4j.
the class EntityValueUpdatesTest method shouldNotGenerateUpdateWhenAddingAnotherUselessTokenForNonSchemaIndex.
@Test
void shouldNotGenerateUpdateWhenAddingAnotherUselessTokenForNonSchemaIndex() {
// When
EntityUpdates updates = EntityUpdates.forEntity(ENTITY_ID, false).withTokens(TOKEN).withTokensAfter(TOKEN_ID_1, UNUSED_TOKEN_ID).build();
// Then
assertThat(updates.valueUpdatesForIndexKeys(singleton(NON_SCHEMA_NODE_INDEX), propertyLoader(PROPERTY_1, PROPERTY_2, PROPERTY_3), EntityType.NODE, NULL, INSTANCE)).isEmpty();
}
Aggregations