|
|
@@ -4,11 +4,8 @@ import android.content.Context;
|
|
|
|
|
|
import org.junit.Test;
|
|
|
|
|
|
-import java.util.concurrent.atomic.AtomicBoolean;
|
|
|
-
|
|
|
import io.reactivex.Observable;
|
|
|
import io.reactivex.Single;
|
|
|
-import io.reactivex.subjects.BehaviorSubject;
|
|
|
|
|
|
import static junit.framework.Assert.assertTrue;
|
|
|
import static org.mockito.Mockito.mock;
|
|
|
@@ -35,21 +32,33 @@ public class NetworkWatcherTest {
|
|
|
|
|
|
@Test
|
|
|
public void watch() {
|
|
|
- AtomicBoolean isChecked = new AtomicBoolean(false);
|
|
|
- Observable<Boolean> network = BehaviorSubject.createDefault(true);
|
|
|
- Observable<Boolean> internet = BehaviorSubject.createDefault(false);
|
|
|
+ Observable<Boolean> network = Observable.fromCallable(() -> true);
|
|
|
+ Observable<Boolean> internet = Observable.fromCallable(() -> false);
|
|
|
Observable<Boolean> watch = NetworkWatcher.watch(network, internet);
|
|
|
- watch.subscribe(isConnected -> {
|
|
|
- System.out.print("isConnected: " + isConnected + "\n");
|
|
|
- isChecked.set(true);
|
|
|
- }, Throwable::printStackTrace);
|
|
|
-
|
|
|
- try {
|
|
|
- Thread.sleep(100);
|
|
|
- } catch (InterruptedException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
-
|
|
|
- assertTrue(isChecked.get());
|
|
|
+ watch.test()
|
|
|
+ .assertSubscribed()
|
|
|
+ .assertComplete()
|
|
|
+ .assertResult(false);
|
|
|
+
|
|
|
+ network = Observable.fromCallable(() -> true);
|
|
|
+ internet = Observable.fromCallable(() -> true);
|
|
|
+ NetworkWatcher.watch(network, internet).test()
|
|
|
+ .assertSubscribed()
|
|
|
+ .assertComplete()
|
|
|
+ .assertResult(true);
|
|
|
+
|
|
|
+ network = Observable.fromCallable(() -> false);
|
|
|
+ internet = Observable.fromCallable(() -> true);
|
|
|
+ NetworkWatcher.watch(network, internet).test()
|
|
|
+ .assertSubscribed()
|
|
|
+ .assertComplete()
|
|
|
+ .assertResult(false);
|
|
|
+
|
|
|
+ network = Observable.fromCallable(() -> false);
|
|
|
+ internet = Observable.fromCallable(() -> false);
|
|
|
+ NetworkWatcher.watch(network, internet).test()
|
|
|
+ .assertSubscribed()
|
|
|
+ .assertComplete()
|
|
|
+ .assertResult(false);
|
|
|
}
|
|
|
}
|