@Test public void getObjectsShouldReturnGeneratedObjectTransformIterable() { // Given final OneToOneObjectGenerator<String> generator = new OneToOneObjectGeneratorImpl(); // When final TransformIterable<Element, String> result = (TransformIterable<Element, String>) generator.apply(Arrays.asList(elm1, elm2)); // Then final Iterator<String> itr = result.iterator(); assertSame(obj1, itr.next()); assertSame(obj2, itr.next()); assertFalse(itr.hasNext()); }
@Override public boolean hasNext() { if (null == hasNext) { while (inputItr.hasNext()) { final I possibleNext = inputItr.next(); if (validator.validate(possibleNext)) { nextElement = transform(possibleNext); hasNext = true; return Boolean.TRUE.equals(hasNext); } else if (skipInvalid) { continue; } else { handleInvalidItem(possibleNext); } } hasNext = false; nextElement = null; } final boolean hasNextResult = Boolean.TRUE.equals(hasNext); if (autoClose && !hasNextResult) { close(); } return hasNextResult; }
@Test public void getElementsShouldReturnGeneratedElementTransformIterable() { // Given final OneToOneElementGenerator<String> generator = new OneToOneElementGeneratorImpl(); // When final TransformIterable<String, Element> result = (TransformIterable<String, Element>) generator.apply(Arrays.asList(obj1, obj2)); // Then final Iterator<Element> itr = result.iterator(); assertSame(elm1, itr.next()); assertSame(elm2, itr.next()); assertFalse(itr.hasNext()); }