use of com.nytimes.android.external.store3.base.impl.BarCode in project Store by NYTimes.
the class SourceFilerReaderWriterStoreTest method testSimple.
@Test
public void testSimple() {
MockitoAnnotations.initMocks(this);
GsonSourceParser<Foo> parser = new GsonSourceParser<>(new Gson(), Foo.class);
Store<Foo, BarCode> simpleStore = StoreBuilder.<BarCode, BufferedSource, Foo>parsedWithKey().persister(fileReader, fileWriter).fetcher(fetcher).parser(parser).open();
Foo foo = new Foo();
foo.bar = barCode.getKey();
String sourceData = new Gson().toJson(foo);
BufferedSource source = source(sourceData);
Single<BufferedSource> value = Single.just(source);
when(fetcher.fetch(barCode)).thenReturn(value);
when(fileReader.read(barCode)).thenReturn(Maybe.<BufferedSource>empty()).thenReturn(value.toMaybe());
when(fileWriter.write(barCode, source)).thenReturn(Single.just(true));
Foo result = simpleStore.get(barCode).blockingGet();
assertThat(result.bar).isEqualTo(KEY);
result = simpleStore.get(barCode).blockingGet();
assertThat(result.bar).isEqualTo(KEY);
verify(fetcher, times(1)).fetch(barCode);
}
use of com.nytimes.android.external.store3.base.impl.BarCode in project Store by NYTimes.
the class JacksonReaderParserStoreTest method testCustomJsonFactoryReaderParser.
@Test
public void testCustomJsonFactoryReaderParser() {
JsonFactory jsonFactory = new JsonFactory();
Parser<Reader, Foo> parser = JacksonParserFactory.createReaderParser(jsonFactory, Foo.class);
Store<Foo, BarCode> store = StoreBuilder.<BarCode, Reader, Foo>parsedWithKey().persister(persister).fetcher(fetcher).parser(parser).open();
Foo result = store.get(barCode).blockingGet();
validateFoo(result);
verify(fetcher, times(1)).fetch(barCode);
}
use of com.nytimes.android.external.store3.base.impl.BarCode in project Store by NYTimes.
the class JacksonSourceParserStoreTest method testCustomJsonFactorySourceParser.
@Test
public void testCustomJsonFactorySourceParser() {
JsonFactory jsonFactory = new JsonFactory();
Parser<BufferedSource, Foo> parser = JacksonParserFactory.createSourceParser(jsonFactory, Foo.class);
Store<Foo, BarCode> store = StoreBuilder.<BarCode, BufferedSource, Foo>parsedWithKey().persister(persister).fetcher(fetcher).parser(parser).open();
Foo result = store.get(barCode).blockingGet();
validateFoo(result);
verify(fetcher, times(1)).fetch(barCode);
}
use of com.nytimes.android.external.store3.base.impl.BarCode in project Store by NYTimes.
the class JacksonSourceParserStoreTest method testDefaultJacksonSourceParser.
@Test
public void testDefaultJacksonSourceParser() {
Parser<BufferedSource, Foo> parser = JacksonParserFactory.createSourceParser(Foo.class);
Store<Foo, BarCode> store = StoreBuilder.<BarCode, BufferedSource, Foo>parsedWithKey().persister(persister).fetcher(fetcher).parser(parser).open();
Foo result = store.get(barCode).blockingGet();
validateFoo(result);
verify(fetcher, times(1)).fetch(barCode);
}
use of com.nytimes.android.external.store3.base.impl.BarCode in project Store by NYTimes.
the class JacksonStringParserStoreTest method testCustomJsonFactoryStringParser.
@Test
public void testCustomJsonFactoryStringParser() {
JsonFactory jsonFactory = new JsonFactory();
Parser<String, Foo> parser = JacksonParserFactory.createStringParser(jsonFactory, Foo.class);
Store<Foo, BarCode> store = StoreBuilder.<BarCode, String, Foo>parsedWithKey().persister(persister).fetcher(fetcher).parser(parser).open();
Foo result = store.get(barCode).blockingGet();
validateFoo(result);
verify(fetcher, times(1)).fetch(barCode);
}
Aggregations