20
20
import static org .mockito .Mockito .*;
21
21
22
22
import java .util .ArrayList ;
23
+ import java .util .Arrays ;
23
24
import java .util .LinkedList ;
24
25
import java .util .List ;
25
26
import java .util .concurrent .CountDownLatch ;
29
30
30
31
import org .junit .Before ;
31
32
import org .junit .Test ;
33
+ import org .mockito .InOrder ;
32
34
import org .mockito .Mock ;
33
35
import org .mockito .MockitoAnnotations ;
34
36
35
37
import rx .Observable .OnSubscribeFunc ;
38
+ import rx .concurrency .TestScheduler ;
36
39
import rx .observables .ConnectableObservable ;
37
40
import rx .subscriptions .BooleanSubscription ;
38
41
import rx .subscriptions .Subscriptions ;
@@ -886,6 +889,7 @@ public void testContainsWithEmptyObservable() {
886
889
verify (aObserver , times (1 )).onCompleted ();
887
890
}
888
891
892
+ @ Test
889
893
public void testIgnoreElements () {
890
894
Observable <Integer > observable = Observable .from (1 , 2 , 3 ).ignoreElements ();
891
895
@@ -896,4 +900,62 @@ public void testIgnoreElements() {
896
900
verify (aObserver , never ()).onError (any (Throwable .class ));
897
901
verify (aObserver , times (1 )).onCompleted ();
898
902
}
903
+
904
+ @ Test
905
+ public void testFromWithScheduler () {
906
+ TestScheduler scheduler = new TestScheduler ();
907
+ Observable <Integer > observable = Observable .from (Arrays .asList (1 , 2 ), scheduler );
908
+
909
+ @ SuppressWarnings ("unchecked" )
910
+ Observer <Integer > aObserver = mock (Observer .class );
911
+ observable .subscribe (aObserver );
912
+
913
+ scheduler .advanceTimeBy (1 , TimeUnit .MILLISECONDS );
914
+
915
+ InOrder inOrder = inOrder (aObserver );
916
+ inOrder .verify (aObserver , times (1 )).onNext (1 );
917
+ inOrder .verify (aObserver , times (1 )).onNext (2 );
918
+ inOrder .verify (aObserver , times (1 )).onCompleted ();
919
+ inOrder .verifyNoMoreInteractions ();
920
+ }
921
+
922
+ @ Test
923
+ public void testStartWithWithScheduler () {
924
+ TestScheduler scheduler = new TestScheduler ();
925
+ Observable <Integer > observable = Observable .from (3 , 4 ).startWith (Arrays .asList (1 , 2 ), scheduler );
926
+
927
+ @ SuppressWarnings ("unchecked" )
928
+ Observer <Integer > aObserver = mock (Observer .class );
929
+ observable .subscribe (aObserver );
930
+
931
+ scheduler .advanceTimeBy (1 , TimeUnit .MILLISECONDS );
932
+
933
+ InOrder inOrder = inOrder (aObserver );
934
+ inOrder .verify (aObserver , times (1 )).onNext (1 );
935
+ inOrder .verify (aObserver , times (1 )).onNext (2 );
936
+ inOrder .verify (aObserver , times (1 )).onNext (3 );
937
+ inOrder .verify (aObserver , times (1 )).onNext (4 );
938
+ inOrder .verify (aObserver , times (1 )).onCompleted ();
939
+ inOrder .verifyNoMoreInteractions ();
940
+ }
941
+
942
+ @ Test
943
+ public void testRangeWithScheduler () {
944
+ TestScheduler scheduler = new TestScheduler ();
945
+ Observable <Integer > observable = Observable .range (3 , 4 , scheduler );
946
+
947
+ @ SuppressWarnings ("unchecked" )
948
+ Observer <Integer > aObserver = mock (Observer .class );
949
+ observable .subscribe (aObserver );
950
+
951
+ scheduler .advanceTimeBy (1 , TimeUnit .MILLISECONDS );
952
+
953
+ InOrder inOrder = inOrder (aObserver );
954
+ inOrder .verify (aObserver , times (1 )).onNext (3 );
955
+ inOrder .verify (aObserver , times (1 )).onNext (4 );
956
+ inOrder .verify (aObserver , times (1 )).onNext (5 );
957
+ inOrder .verify (aObserver , times (1 )).onNext (6 );
958
+ inOrder .verify (aObserver , times (1 )).onCompleted ();
959
+ inOrder .verifyNoMoreInteractions ();
960
+ }
899
961
}
0 commit comments