rx.subjects.TestSubject Java Examples
The following examples show how to use
rx.subjects.TestSubject.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: BaseRxLoaderActivityWithFragmentTest.java From rxloader with Apache License 2.0 | 6 votes |
@SmallTest public void testLoaderStartRemoveFragment() throws InterruptedException { TestSubject<String> subject = TestSubject.create(testScheduler); createLoader(getActivity(), subject).start(); getActivity().waitForStarted(); getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { getActivity().removeFragment(); } }); Thread.sleep(500); // Need to wait for onDestroy() to be called. subject.onNext("test"); subject.onCompleted(); testScheduler.triggerActions(); getInstrumentation().waitForIdleSync(); assertThat(getActivity().<String>getNext()).isNull(); assertThat(getActivity().isCompleted()).isFalse().as("onCompleted() is not called if the activity is destroyed"); }
Example #2
Source File: BaseRxLoaderActivityWithFragmentTest.java From rxloader with Apache License 2.0 | 6 votes |
@SmallTest public void testLoaderStartDetachFragment() throws InterruptedException { TestSubject<String> subject = TestSubject.create(testScheduler); createLoader(getActivity(), subject).start(); getActivity().waitForStarted(); getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { getActivity().detachFragment(); } }); Thread.sleep(500); // Need to wait for onDestroy() to be called. subject.onNext("test"); subject.onCompleted(); testScheduler.triggerActions(); getInstrumentation().waitForIdleSync(); assertThat(getActivity().<String>getNext()).isNull(); assertThat(getActivity().isCompleted()).isFalse().as("onCompleted() is not called if the fragment is detached"); }
Example #3
Source File: BaseRxLoaderActivityTest.java From rxloader with Apache License 2.0 | 6 votes |
@SmallTest public void testLoaderStartRotation() throws InterruptedException { TestSubject<String> subject = TestSubject.create(testScheduler); createLoader(getActivity(), subject).start(); getActivity().waitForStarted(); getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { getActivity().recreate(); } }); createLoader(getActivity(), subject); getActivity().waitForStarted(); assertThat(getActivity().isStarted()).isTrue().as("onStarted() called again after a configuration change"); }
Example #4
Source File: BaseRxLoaderActivityTest.java From rxloader with Apache License 2.0 | 6 votes |
@SmallTest public void testLoaderStartRotationNext() throws InterruptedException { TestSubject<String> subject = TestSubject.create(testScheduler); createLoader(getActivity(), subject).start(); getActivity().waitForStarted(); subject.onNext("test"); subject.onCompleted(); testScheduler.triggerActions(); getActivity().waitForNext(); getActivity().waitForCompleted(); getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { getActivity().recreate(); } }); createLoader(getActivity(), subject); getActivity().waitForNext(); getActivity().waitForCompleted(); assertThat(getActivity().<String>getNext()).isEqualTo("test").as("result is delivered again after a configuration change"); assertThat(getActivity().isCompleted()).isTrue().as("onCompleted() is called again after a configuration change"); }
Example #5
Source File: BaseRxLoaderActivityTest.java From rxloader with Apache License 2.0 | 6 votes |
@SmallTest public void testLoaderStartRotationError() throws InterruptedException { TestSubject<String> subject = TestSubject.create(testScheduler); createLoader(getActivity(), subject).start(); getActivity().waitForStarted(); subject.onError(new Exception("test")); testScheduler.triggerActions(); getActivity().waitForError(); getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { getActivity().recreate(); } }); createLoader(getActivity(), subject); getActivity().waitForError(); assertThat(getActivity().<String>getError()).hasMessage("test").as("onError() is called again after a configuration change"); }
Example #6
Source File: BaseRxLoaderActivityTest.java From rxloader with Apache License 2.0 | 6 votes |
@SmallTest public void testLoaderStartNextAfterDestroyed() throws InterruptedException { TestSubject<String> subject = TestSubject.create(testScheduler); createLoader(getActivity(), subject).start(); getActivity().waitForStarted(); getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { getActivity().finish(); } }); Thread.sleep(500); // Need to wait for onDestroy() to be called. subject.onNext("test"); subject.onCompleted(); testScheduler.triggerActions(); getInstrumentation().waitForIdleSync(); assertThat(getActivity().<String>getNext()).isNull(); assertThat(getActivity().isCompleted()).isFalse().as("onCompleted() is not called if the activity is destroyed"); // Needed to recreate the activity since the test runner expects it to exist. getActivity(); }
Example #7
Source File: BaseRxLoaderActivityTest.java From rxloader with Apache License 2.0 | 6 votes |
@SmallTest public void testLoaderStartNextRotationClear() throws InterruptedException { TestSubject<String> subject = TestSubject.create(testScheduler); RxLoader<String> loader = createLoader(getActivity(), subject).start(); getActivity().waitForStarted(); subject.onNext("test"); subject.onCompleted(); testScheduler.triggerActions(); getActivity().waitForNext(); getActivity().waitForCompleted(); loader.clear(); T newActivity = recreateActivity(); createLoader(newActivity, subject); getInstrumentation().waitForIdleSync(); Thread.sleep(500); // Give loader a chance to deliver the result. assertThat(newActivity.<String>getNext()).isNull(); assertThat(newActivity.isCompleted()).isFalse().as("onCompleted() is not called if the result was cleared"); }
Example #8
Source File: UploadManagerTest.java From RxUploader with Apache License 2.0 | 5 votes |
@Before public void setUp() throws Exception { testScheduler = new TestScheduler(); statusSubject = TestSubject.create(testScheduler); jobSubject = TestSubject.create(testScheduler); when(uploadInteractor.getAll()).thenReturn(Observable.empty()); uploadManager = new UploadManager(uploadInteractor, uploadErrorAdapter, jobSubject, statusSubject, false); }
Example #9
Source File: UploadManagerTest.java From RxUploader with Apache License 2.0 | 5 votes |
@Test public void testDanglingUpload() { final String jobId1 = "job-id-1"; final String jobId2 = "job-id-2"; final Job job1 = Job.builder() .setId(jobId1) .setFilepath("filepath") .setMetadata(Collections.emptyMap()) .setStatus(createQueued(jobId1)) .setMimeType("text/plain") .build(); final Job job2 = Job.builder() .setId(jobId2) .setFilepath("filepath") .setMetadata(Collections.emptyMap()) .setStatus(createSending(jobId2, 0)) .setMimeType("text/plain") .build(); when(uploadInteractor.getAll()) .thenReturn(Observable.from(Arrays.asList(job1, job2))); final TestScheduler testScheduler = new TestScheduler(); final TestSubject<Status> statusSubject = TestSubject.create(testScheduler); final TestSubject<Job> jobSubject = TestSubject.create(testScheduler); new UploadManager(uploadInteractor, uploadErrorAdapter, jobSubject, statusSubject, false); verify(uploadInteractor, times(1)).update(any(Status.class)); final Status expectedStatus = Status.createFailed(job2.id(), ErrorType.TERMINATED); verify(uploadInteractor).update(expectedStatus); }
Example #10
Source File: VwapServerTest.java From MarketData with Apache License 2.0 | 5 votes |
@Before public void setUpServer() { tradeEventStreamClient = mock(EventStreamClient.class); scheduler = Schedulers.test(); vwapServer = new VwapServer(42, tradeEventStreamClient, scheduler); tradeSourceSubject = TestSubject.create(scheduler); when(tradeEventStreamClient.readServerSideEvents()).thenReturn(tradeSourceSubject); }
Example #11
Source File: AbstractSingleToFutureConverterTest.java From future-converter with Apache License 2.0 | 5 votes |
@Test public void cancelShouldUnsubscribe() { TestSubject<String> single = TestSubject.create(new TestScheduler()); assertFalse(single.hasObservers()); T future = toFuture(single.toSingle()); assertTrue(single.hasObservers()); future.cancel(true); assertFalse(single.hasObservers()); }
Example #12
Source File: BaseRxLoaderActivityWithFragmentTest.java From rxloader with Apache License 2.0 | 5 votes |
@SmallTest public void testLoaderStartDetachAndAttachFragment() throws InterruptedException { TestSubject<String> subject = TestSubject.create(testScheduler); createLoader(getActivity(), subject).start(); getActivity().waitForStarted(); getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { getActivity().detachFragment(); } }); Thread.sleep(500); // Need to wait for onDestroy() to be called. subject.onNext("test"); subject.onCompleted(); testScheduler.triggerActions(); getInstrumentation().waitForIdleSync(); getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { getActivity().reattchFragment(); } }); getInstrumentation().waitForIdleSync(); createLoader(getActivity(), subject); getActivity().waitForNext(); getActivity().waitForCompleted(); assertThat(getActivity().<String>getNext()).isEqualTo("test").as("result is value delivered from observable"); assertThat(getActivity().isCompleted()).isTrue().as("onCompleted() called when fragment is reattached"); }
Example #13
Source File: BaseRxLoaderActivityWithFragmentTest.java From rxloader with Apache License 2.0 | 5 votes |
@SmallTest public void testMultipleLoaderFragments() throws InterruptedException { final String fragment1 = "fragment1"; final String fragment2 = "fragment2"; TestSubject<String> subject1 = TestSubject.create(testScheduler); TestSubject<String> subject2 = TestSubject.create(testScheduler); getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { getActivity().addFragment(fragment1); getActivity().addFragment(fragment2); } }); createLoader(subject1, fragment1).start(); createLoader(subject2, fragment2).start(); getActivity().waitForStarted(fragment1); getActivity().waitForStarted(fragment2); subject1.onNext("test1"); subject2.onNext("test2"); subject1.onCompleted(); subject2.onCompleted(); testScheduler.triggerActions(); getActivity().waitForNext(fragment1); getActivity().waitForCompleted(fragment1); getActivity().waitForNext(fragment2); getActivity().waitForCompleted(fragment2); assertThat(getActivity().<String>getNext(fragment1)).isEqualTo("test1").as("result is value delivered from observable"); assertThat(getActivity().isCompleted(fragment1)).isTrue().as("onCompleted() called when observable completed"); assertThat(getActivity().<String>getNext(fragment2)).isEqualTo("test2").as("result is value delivered from observable"); assertThat(getActivity().isCompleted(fragment2)).isTrue().as("onCompleted() called when observable completed"); }
Example #14
Source File: BaseRxLoaderActivityTest.java From rxloader with Apache License 2.0 | 5 votes |
@SmallTest public void testLoaderStart() throws InterruptedException { final TestSubject<String> subject = TestSubject.create(testScheduler); final RxLoader<String> loader = createLoader(getActivity(), subject); assertThat(getActivity().isStarted()).isFalse().as("onStarted() not called until loader is started"); loader.start(); getActivity().waitForStarted(); assertThat(getActivity().isStarted()).isTrue().as("onStarted() called when loader is started"); }
Example #15
Source File: BaseRxLoaderActivityTest.java From rxloader with Apache License 2.0 | 5 votes |
@SmallTest public void testLoaderStartNext() throws InterruptedException { final TestSubject<String> subject = TestSubject.create(testScheduler); createLoader(getActivity(), subject).start(); getActivity().waitForStarted(); subject.onNext("test"); subject.onCompleted(); testScheduler.triggerActions(); getActivity().waitForNext(); getActivity().waitForCompleted(); assertThat(getActivity().<String>getNext()).isEqualTo("test").as("result is value delivered from observable"); assertThat(getActivity().isCompleted()).isTrue().as("onCompleted() called when observable completed"); }
Example #16
Source File: BaseRxLoaderActivityTest.java From rxloader with Apache License 2.0 | 5 votes |
@SmallTest public void testLoaderStartError() throws InterruptedException { TestSubject<String> subject = TestSubject.create(testScheduler); createLoader(getActivity(), subject).start(); getActivity().waitForStarted(); subject.onError(new Exception("test")); subject.onCompleted(); testScheduler.triggerActions(); getActivity().waitForError(); assertThat(getActivity().<String>getError()).hasMessage("test").as("onError() is called when sent by observable"); }