Skip to content

Instantly share code, notes, and snippets.

@veyndan
Created October 16, 2016 00:25
Show Gist options
  • Save veyndan/1ba64dcee13ea0304ef9ffcbc1ff6611 to your computer and use it in GitHub Desktop.
Save veyndan/1ba64dcee13ea0304ef9ffcbc1ff6611 to your computer and use it in GitHub Desktop.
public class ObservableTest {
@Test
public void observable_withRecursion_returnsAllObjects() {
final int maxPageNum = 15;
getIntegers(1, 5, maxPageNum)
.subscribe(System.out::println);
}
private Observable<Integer> getIntegers(final int pageStart, final int pageSize, final int maxPageNum) {
return Observable.just(pageStart)
.filter(page -> page < maxPageNum)
.flatMap(page -> Observable.range(page, pageSize)
.concatWith(getIntegers(pageStart + pageSize, pageSize, maxPageNum)));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment