@Test(expected = NullPointerException.class) public void composeNull() { just1.compose(null); }
@Test public void singleGenericsSignatureTest() { A<String, Integer> a = new A<String, Integer>() { }; Single.just(a).compose(TransformerTest.<String>testSingleTransformerCreator()); }
/** * Edit comment. * * @param commentRequest */ protected void editComment(CommentRequest commentRequest) { ServiceGenerator.createService(this, GistCommentService.class) .editGistComment(gist.id(), comment.id(), commentRequest) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .compose(RxProgress.bindToLifecycle(this, R.string.editing_comment)) .as(AutoDisposeUtils.bindToLifecycle(this)) .subscribe(response -> finish(response.body()), e -> { Log.d(TAG, "Exception editing comment on gist", e); ToastUtils.show(this, e.getMessage()); }); }
@Override public void onActivityResult(final int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE_SELECT_PHOTO && resultCode == Activity.RESULT_OK) { ImageBinPoster.post(getActivity(), data.getData()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .compose(RxProgress.bindToLifecycle(getActivity(), R.string.loading)) .as(AutoDisposeUtils.bindToLifecycle(this)) .subscribe(response -> { if (response.isSuccessful()) { insertImage(ImageBinPoster.getUrl(response.body().string())); } else { showImageError(); } }, throwable -> showImageError()); } }
@Override public void onItemClick(@NonNull Item item, @NonNull View view) { if (item instanceof RepositoryItem) { final Repository result = ((RepositoryItem) item).getRepo(); ServiceGenerator.createService(getContext(), RepositoryService.class) .getRepository(result.owner().login(), result.name()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .compose(RxProgress.bindToLifecycle(getActivity(), MessageFormat.format(getString(R.string.opening_repository), InfoUtils.createRepoId(result)))) .as(AutoDisposeUtils.bindToLifecycle(this)) .subscribe(response -> startActivity(RepositoryViewActivity.createIntent(response.body()))); } }
/** * Edit issue to have given milestone * * @param milestone * @return this task */ public EditMilestoneTask edit(Milestone milestone) { if (milestone != null) { IssueRequest editedIssue = IssueRequest.builder().milestone(milestone.number().longValue()).build(); store.editIssue(repositoryId, issueNumber, editedIssue) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .compose(RxProgress.bindToLifecycle(activity, R.string.updating_milestone)) .as(AutoDisposeUtils.bindToLifecycle(activity)) .subscribe(observer); } return this; } }
/** * Edit issue to have given assignee. * * @param assignee The user the assign * @return this task */ public EditAssigneeTask edit(User assignee) { String assigneeLogin = assignee != null ? assignee.login() : ""; IssueRequest edit = IssueRequest.builder() .assignees(Collections.singletonList(assigneeLogin)) .build(); store.editIssue(repositoryId, issueNumber, edit) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .compose(RxProgress.bindToLifecycle(activity, R.string.updating_assignee)) .as(AutoDisposeUtils.bindToLifecycle(activity)) .subscribe(observer); return this; } }
@Test public void compose() { Single.just(1) .compose(new SingleTransformer<Integer, Object>() { @Override public SingleSource<Object> apply(Single<Integer> f) { return f.map(new Function<Integer, Object>() { @Override public Object apply(Integer v) throws Exception { return v + 1; } }); } }) .test() .assertResult(2); }
@Test public void singleTransformerThrows() { try { Single.just(1).compose(new SingleTransformer<Integer, Integer>() { @Override public Single<Integer> apply(Single<Integer> v) { throw new TestException("Forced failure"); } }); fail("Should have thrown!"); } catch (TestException ex) { assertEquals("Forced failure", ex.getMessage()); } }
@Override protected void createComment(final String comment) { CreateCommitComment.Builder commitCommentBuilder = CreateCommitComment.builder() .body(comment); if(isLineComment(path, position)) { commitCommentBuilder.path(path).position(position); } ServiceGenerator.createService(this, RepositoryCommentService.class) .createCommitComment(repository.owner().login(), repository.name(), commit, commitCommentBuilder.build()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .compose(RxProgress.bindToLifecycle(this, R.string.creating_comment)) .as(AutoDisposeUtils.bindToLifecycle(this)) .subscribe(response -> finish(response.body()), e -> ToastUtils.show(this, e.getMessage())); }
/** * Create dialog helper to display labels * * @param activity * @param requestCode * @param repository */ public LabelsDialog(final BaseActivity activity, final int requestCode, final Repository repository) { this.activity = activity; this.requestCode = requestCode; GitHubRequest<Response<Page<Label>>> gitHubRequest = page -> ServiceGenerator .createService(activity, IssueLabelService.class) .getRepositoryLabels(repository.owner().login(), repository.name(), page); labelsSingle = RxPageUtil.getAllPages(gitHubRequest, 1) .flatMap(page -> Observable.fromIterable(page.items())) .toSortedList((o1, o2) -> CASE_INSENSITIVE_ORDER.compare(o1.name(), o2.name())) .compose(RxProgress.bindToLifecycle(activity, R.string.loading_labels)) .cache(); }
@Test public void noEvents() { TestObserver<String> testObserver = Single.just("1") .delay(1, TimeUnit.MILLISECONDS, testScheduler) .compose(RxLifecycle.<String, String>bind(lifecycle, CORRESPONDING_EVENTS)) .test(); testObserver.assertNoValues(); testScheduler.advanceTimeBy(1, TimeUnit.MILLISECONDS); testObserver.assertValue("1"); testObserver.assertComplete(); }
@Test public void noEvent() { TestObserver<String> testObserver = Single.just("1") .delay(1, TimeUnit.MILLISECONDS, testScheduler) .compose(RxLifecycle.<String, String>bind(lifecycle)) .test(); testObserver.assertNoValues(); testScheduler.advanceTimeBy(1, TimeUnit.MILLISECONDS); testObserver.assertValue("1"); testObserver.assertComplete(); }
@Test public void noEvents() { TestObserver<String> testObserver = Single.just("1") .delay(1, TimeUnit.MILLISECONDS, testScheduler) .compose(RxLifecycle.<String, String>bindUntilEvent(lifecycle, "stop")) .test(); testObserver.assertNoValues(); testScheduler.advanceTimeBy(1, TimeUnit.MILLISECONDS); testObserver.assertValue("1"); testObserver.assertComplete(); }
@Test public void oneStartEvent() { TestObserver<String> testObserver = Single.just("1") .delay(1, TimeUnit.MILLISECONDS, testScheduler) .compose(RxLifecycle.<String, String>bind(lifecycle, CORRESPONDING_EVENTS)) .test(); testObserver.assertNoValues(); lifecycle.onNext("create"); testScheduler.advanceTimeBy(1, TimeUnit.MILLISECONDS); testObserver.assertValue("1"); testObserver.assertComplete(); }
@Test public void oneWrongEvent() { TestObserver<String> testObserver = Single.just("1") .delay(1, TimeUnit.MILLISECONDS, testScheduler) .compose(RxLifecycle.<String, String>bindUntilEvent(lifecycle, "stop")) .test(); testObserver.assertNoValues(); lifecycle.onNext("keep going"); testScheduler.advanceTimeBy(1, TimeUnit.MILLISECONDS); testObserver.assertValue("1"); testObserver.assertComplete(); }
@Test public void twoOpenEvents() { TestObserver<String> testObserver = Single.just("1") .delay(1, TimeUnit.MILLISECONDS, testScheduler) .compose(RxLifecycle.<String, String>bind(lifecycle, CORRESPONDING_EVENTS)) .test(); testObserver.assertNoValues(); lifecycle.onNext("create"); lifecycle.onNext("start"); testScheduler.advanceTimeBy(1, TimeUnit.MILLISECONDS); testObserver.assertValue("1"); testObserver.assertComplete(); }
@Test public void twoEvents() { TestObserver<String> testObserver = Single.just("1") .delay(1, TimeUnit.MILLISECONDS, testScheduler) .compose(RxLifecycle.<String, String>bindUntilEvent(lifecycle, "stop")) .test(); lifecycle.onNext("keep going"); testObserver.assertNoErrors(); lifecycle.onNext("stop"); testScheduler.advanceTimeBy(1, TimeUnit.MILLISECONDS); testObserver.assertNoValues(); testObserver.assertError(CancellationException.class); }
@Test public void openAndCloseEvent() { TestObserver<String> testObserver = Single.just("1") .delay(1, TimeUnit.MILLISECONDS, testScheduler) .compose(RxLifecycle.<String, String>bind(lifecycle, CORRESPONDING_EVENTS)) .test(); lifecycle.onNext("create"); testObserver.assertNoErrors(); lifecycle.onNext("destroy"); testScheduler.advanceTimeBy(1, TimeUnit.MILLISECONDS); testObserver.assertNoValues(); testObserver.assertError(CancellationException.class); }
@Test public void oneEvent() { TestObserver<String> testObserver = Single.just("1") .delay(1, TimeUnit.MILLISECONDS, testScheduler) .compose(RxLifecycle.<String, String>bind(lifecycle)) .test(); testObserver.assertNoValues(); testObserver.assertNoErrors(); lifecycle.onNext("stop"); testScheduler.advanceTimeBy(1, TimeUnit.MILLISECONDS); testObserver.assertNoValues(); testObserver.assertError(CancellationException.class); } }