use of com.karumi.rosie.repository.datasource.paginated.Page in project Rosie by Karumi.
the class InMemoryPaginatedCacheDataSourceTest method shouldAddValuesBasedOnTheOffsetAndLimit.
@Test
public void shouldAddValuesBasedOnTheOffsetAndLimit() throws Exception {
Page page = Page.withOffsetAndLimit(ANY_OFFSET, ANY_LIMIT);
Collection<AnyRepositoryValue> values = givenSomeItems(ANY_OFFSET + ANY_LIMIT);
PaginatedCacheDataSource<AnyRepositoryKey, AnyRepositoryValue> cache = givenAnInMemoryPaginatedCacheDataSource();
cache.addOrUpdatePage(page, values, ANY_HAS_MORE);
PaginatedCollection<AnyRepositoryValue> paginatedCollection = cache.getPage(page);
assertEquals(values, paginatedCollection.getItems());
}
use of com.karumi.rosie.repository.datasource.paginated.Page in project Rosie by Karumi.
the class InMemoryPaginatedCacheDataSourceTest method shouldReturnRequestedLimit.
@Test
public void shouldReturnRequestedLimit() throws Exception {
Page page = Page.withOffsetAndLimit(ANY_OFFSET, ANY_LIMIT);
Collection<AnyRepositoryValue> values = givenSomeItems(ANY_OFFSET + ANY_LIMIT);
PaginatedCacheDataSource<AnyRepositoryKey, AnyRepositoryValue> cache = givenAnInMemoryPaginatedCacheDataSource();
cache.addOrUpdatePage(page, values, ANY_HAS_MORE);
PaginatedCollection<AnyRepositoryValue> paginatedCollection = cache.getPage(page);
assertEquals(ANY_LIMIT, paginatedCollection.getPage().getLimit());
}
use of com.karumi.rosie.repository.datasource.paginated.Page in project Rosie by Karumi.
the class InMemoryPaginatedCacheDataSourceTest method shouldReturnTheRequestedOffset.
@Test
public void shouldReturnTheRequestedOffset() throws Exception {
Page page = Page.withOffsetAndLimit(ANY_OFFSET, ANY_LIMIT);
Collection<AnyRepositoryValue> values = givenSomeItems(ANY_OFFSET + ANY_LIMIT);
PaginatedCacheDataSource<AnyRepositoryKey, AnyRepositoryValue> cache = givenAnInMemoryPaginatedCacheDataSource();
cache.addOrUpdatePage(page, values, ANY_HAS_MORE);
PaginatedCollection<AnyRepositoryValue> paginatedCollection = cache.getPage(page);
assertEquals(ANY_OFFSET, paginatedCollection.getPage().getOffset());
}
use of com.karumi.rosie.repository.datasource.paginated.Page in project Rosie by Karumi.
the class GetComicSeriesPage method getAllComicsInCache.
public PaginatedCollection<ComicSeries> getAllComicsInCache() {
Collection<ComicSeries> all;
try {
all = repository.getAll(ReadPolicy.CACHE_ONLY);
} catch (Exception e) {
all = new ArrayList<>();
}
if (all == null) {
all = new ArrayList<>();
}
Page page = Page.withOffsetAndLimit(0, all.size());
PaginatedCollection<ComicSeries> comics = new PaginatedCollection<>(all);
comics.setPage(page);
comics.setHasMore(true);
return comics;
}
Aggregations