浏览代码

[공통][New] 테스트 수정/추가 : Observable

hyodong.min 7 年之前
父节点
当前提交
532f7d6e03
共有 1 个文件被更改,包括 27 次插入18 次删除
  1. 27 18
      app/src/test/java/kr/co/zumo/app/lifeplus/network/NetworkWatcherTest.java

+ 27 - 18
app/src/test/java/kr/co/zumo/app/lifeplus/network/NetworkWatcherTest.java

@@ -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);
   }
 }