@Test public void shouldNotLoadIdentifierWhenLoaded() { // Given final Entity entity = new Entity("group"); final ElementValueLoader entityLoader = mock(ElementValueLoader.class); final LazyEntity lazyEntity = new LazyEntity(entity, entityLoader); final IdentifierType identifierType = IdentifierType.VERTEX; final String exceptedIdentifierValue = "identifier value"; lazyEntity.setVertex(exceptedIdentifierValue); // When - should use the loaded value Object identifierValue = lazyEntity.getIdentifier(identifierType); Object identifierValue2 = lazyEntity.getIdentifier(identifierType); // Then assertEquals(exceptedIdentifierValue, identifierValue); assertEquals(exceptedIdentifierValue, identifierValue2); assertEquals(exceptedIdentifierValue, entity.getVertex()); verify(entityLoader, never()).loadIdentifiers(entity); }
@Test public void shouldLoadIdentifierWhenNotLoaded() { // Given final Entity entity = mock(Entity.class); given(entity.getProperties()).willReturn(mock(Properties.class)); final ElementValueLoader entityLoader = mock(ElementValueLoader.class); final LazyEntity lazyEntity = new LazyEntity(entity, entityLoader); final IdentifierType identifierType = IdentifierType.VERTEX; final String exceptedIdentifierValue = "identifier value"; given(entity.getVertex()).willReturn(exceptedIdentifierValue); // When Object identifierValue = lazyEntity.getIdentifier(identifierType); // Then assertEquals(exceptedIdentifierValue, identifierValue); assertEquals(identifierValue, entity.getVertex()); verify(entityLoader).loadIdentifiers(entity); }