2020import static org .mockito .Mockito .*;
2121
2222import java .util .ArrayList ;
23+ import java .util .Arrays ;
2324import java .util .LinkedList ;
2425import java .util .List ;
2526import java .util .concurrent .CountDownLatch ;
2930
3031import org .junit .Before ;
3132import org .junit .Test ;
33+ import org .mockito .InOrder ;
3234import org .mockito .Mock ;
3335import org .mockito .MockitoAnnotations ;
3436
3537import rx .Observable .OnSubscribeFunc ;
38+ import rx .concurrency .TestScheduler ;
3639import rx .observables .ConnectableObservable ;
3740import rx .subscriptions .BooleanSubscription ;
3841import rx .subscriptions .Subscriptions ;
@@ -886,6 +889,7 @@ public void testContainsWithEmptyObservable() {
886889 verify (aObserver , times (1 )).onCompleted ();
887890 }
888891
892+ @ Test
889893 public void testIgnoreElements () {
890894 Observable <Integer > observable = Observable .from (1 , 2 , 3 ).ignoreElements ();
891895
@@ -896,4 +900,62 @@ public void testIgnoreElements() {
896900 verify (aObserver , never ()).onError (any (Throwable .class ));
897901 verify (aObserver , times (1 )).onCompleted ();
898902 }
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+ }
899961}
0 commit comments