Skip to content

Commit

Permalink
Simplify API
Browse files Browse the repository at this point in the history
  • Loading branch information
AleksanderMielczarek committed Mar 5, 2017
1 parent e4c9ff6 commit 82e845a
Show file tree
Hide file tree
Showing 46 changed files with 910 additions and 175 deletions.
2 changes: 2 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ dependencies {
exclude group: 'com.android.support', module: 'support-annotations'
})
testCompile "junit:junit:$junitVersion"
androidTestAnnotationProcessor project(':observable-cache-1-service-processor')
androidTestAnnotationProcessor project(':observable-cache-2-service-processor')

//support
compile "com.android.support:appcompat-v7:$supportLibraryVersion"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.github.aleksandermielczarek.observablecacheexample;

import com.github.aleksandermielczarek.observablecache.CacheableCompletable;
import com.github.aleksandermielczarek.observablecache.CacheableObservable;
import com.github.aleksandermielczarek.observablecache.CacheableSingle;
import com.github.aleksandermielczarek.observablecache.CompletableFromCache;
import com.github.aleksandermielczarek.observablecache.ObservableFromCache;
import com.github.aleksandermielczarek.observablecache.SingleFromCache;
import com.github.aleksandermielczarek.observablecache.service.annotations.ObservableCacheService;

/**
* Created by Aleksander Mielczarek on 05.03.2017.
*/

@ObservableCacheService
public interface Cached1Service {

CacheableObservable<String> observable();

ObservableFromCache<String> cachedObservable();

CacheableSingle<String> single();

SingleFromCache<String> cachedSingle();

CacheableCompletable completable();

CompletableFromCache cachedCompletable();

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package com.github.aleksandermielczarek.observablecacheexample;


import com.github.aleksandermielczarek.observablecache2.CacheableCompletable;
import com.github.aleksandermielczarek.observablecache2.CacheableFlowable;
import com.github.aleksandermielczarek.observablecache2.CacheableMaybe;
import com.github.aleksandermielczarek.observablecache2.CacheableObservable;
import com.github.aleksandermielczarek.observablecache2.CacheableSingle;
import com.github.aleksandermielczarek.observablecache2.CompletableFromCache;
import com.github.aleksandermielczarek.observablecache2.FlowableFromCache;
import com.github.aleksandermielczarek.observablecache2.MaybeFromCache;
import com.github.aleksandermielczarek.observablecache2.ObservableFromCache;
import com.github.aleksandermielczarek.observablecache2.SingleFromCache;
import com.github.aleksandermielczarek.observablecache2.service.annotations.ObservableCacheService;

/**
* Created by Aleksander Mielczarek on 10.02.2017.
*/

@ObservableCacheService
public interface Cached2Service {

CacheableFlowable<String> flowable();

FlowableFromCache<String> cachedFlowable();

CacheableObservable<String> observable();

ObservableFromCache<String> cachedObservable();

CacheableSingle<String> single();

SingleFromCache<String> cachedSingle();

CacheableMaybe<String> maybe();

MaybeFromCache<String> cachedMaybe();

CacheableCompletable completable();

CompletableFromCache cachedCompletable();

}
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@

import android.support.test.runner.AndroidJUnit4;

import com.github.aleksandermielczarek.observablecache.AbstractObservableCache;
import com.github.aleksandermielczarek.observablecache.LruObservableCache;
import com.github.aleksandermielczarek.observablecache.ObservableCache;

import org.junit.Assert;
import org.junit.Before;
Expand Down Expand Up @@ -36,7 +36,7 @@ public class LruObservableCache1Test {
public static final String ERROR = "error";
public static final String KEY = "key";

private final ObservableCache observableCache = LruObservableCache.newInstance();
private final AbstractObservableCache observableCache = LruObservableCache.newInstance();
private final AtomicReference<String> result = new AtomicReference<>();
private final AtomicBoolean completableResult = new AtomicBoolean();
private final AtomicReference<String> error = new AtomicReference<>();
Expand Down Expand Up @@ -172,6 +172,46 @@ public void observableErrorCompleteAfterRotation() throws Exception {
assertError();
}

@Test
public void singleCompleteBeforeRotation() throws Exception {
subscriptions.add(single()
.compose(observableCache.cacheSingle(KEY))
.subscribe(onNext(), onError()));
waitForRx();
assertResult();
}

@Test
public void singleCompleteAfterRotation() throws Exception {
subscriptions.add(single()
.compose(observableCache.cacheSingle(KEY))
.subscribe(onNext(), onError()));
rotate();
observableCache.<String>getSingle(KEY).ifPresent(singleFromCache -> subscriptions.add(singleFromCache.subscribe(onNext(), onError())));
waitForRx();
assertResult();
}

@Test
public void singleErrorCompleteBeforeRotation() throws Exception {
subscriptions.add(singleError()
.compose(observableCache.cacheSingle(KEY))
.subscribe(onNext(), onError()));
waitForRx();
assertError();
}

@Test
public void singleErrorCompleteAfterRotation() throws Exception {
subscriptions.add(singleError()
.compose(observableCache.cacheSingle(KEY))
.subscribe(onNext(), onError()));
rotate();
observableCache.<String>getSingle(KEY).ifPresent(singleFromCache -> subscriptions.add(singleFromCache.subscribe(onNext(), onError())));
waitForRx();
assertError();
}

@Test
public void completableCompleteBeforeRotation() throws Exception {
subscriptions.add(completable()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import android.support.test.runner.AndroidJUnit4;

import com.github.aleksandermielczarek.observablecache2.LruObservableCache;
import com.github.aleksandermielczarek.observablecache2.ObservableCache;
import com.github.aleksandermielczarek.observablecache2.AbstractObservableCache;

import org.junit.Assert;
import org.junit.Before;
Expand Down Expand Up @@ -38,7 +38,7 @@ public class LruObservableCache2Test {
public static final String ERROR = "error";
public static final String KEY = "key";

private final ObservableCache observableCache = LruObservableCache.newInstance();
private final AbstractObservableCache observableCache = LruObservableCache.newInstance();
private final AtomicReference<String> result = new AtomicReference<>();
private final AtomicBoolean completableResult = new AtomicBoolean();
private final AtomicReference<String> error = new AtomicReference<>();
Expand Down
Loading

0 comments on commit 82e845a

Please sign in to comment.