Search in sources :

Example 11 with Page

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());
}
Also used : AnyRepositoryKey(com.karumi.rosie.doubles.AnyRepositoryKey) Page(com.karumi.rosie.repository.datasource.paginated.Page) AnyRepositoryValue(com.karumi.rosie.doubles.AnyRepositoryValue) Test(org.junit.Test)

Example 12 with Page

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());
}
Also used : AnyRepositoryKey(com.karumi.rosie.doubles.AnyRepositoryKey) Page(com.karumi.rosie.repository.datasource.paginated.Page) AnyRepositoryValue(com.karumi.rosie.doubles.AnyRepositoryValue) Test(org.junit.Test)

Example 13 with Page

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());
}
Also used : AnyRepositoryKey(com.karumi.rosie.doubles.AnyRepositoryKey) Page(com.karumi.rosie.repository.datasource.paginated.Page) AnyRepositoryValue(com.karumi.rosie.doubles.AnyRepositoryValue) Test(org.junit.Test)

Example 14 with Page

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;
}
Also used : ComicSeries(com.karumi.rosie.sample.comics.domain.model.ComicSeries) ArrayList(java.util.ArrayList) Page(com.karumi.rosie.repository.datasource.paginated.Page) PaginatedCollection(com.karumi.rosie.repository.PaginatedCollection)

Aggregations

Page (com.karumi.rosie.repository.datasource.paginated.Page)14 AnyRepositoryKey (com.karumi.rosie.doubles.AnyRepositoryKey)12 AnyRepositoryValue (com.karumi.rosie.doubles.AnyRepositoryValue)12 Test (org.junit.Test)12 PaginatedCollection (com.karumi.rosie.repository.PaginatedCollection)2 ArrayList (java.util.ArrayList)2 Character (com.karumi.rosie.sample.characters.domain.model.Character)1 ComicSeries (com.karumi.rosie.sample.comics.domain.model.ComicSeries)1