Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
rx-ja-night-2016-1
Search
Yuya Kaido
February 24, 2016
Programming
910
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
rx-ja-night-2016-1
Yuya Kaido
February 24, 2016
More Decks by Yuya Kaido
See All by Yuya Kaido
droidkaigi-2019
yuyakaido
7
4.9k
matching-dev-meetup-1
yuyakaido
1
240
minami-aoyama-night-6
yuyakaido
1
1.3k
eureka-meetup-10
yuyakaido
0
850
droidkaigi-2018
yuyakaido
4
6.2k
navitime-eureka-1
yuyakaido
0
110
droidkaigi-2017
yuyakaido
11
8.3k
retty-tech-cafe-8
yuyakaido
0
200
mti-eureka-tech-beer
yuyakaido
0
500
Other Decks in Programming
See All in Programming
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
630
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
110
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
7.2k
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.9k
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
270
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
820
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
200
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
230
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
1k
Performance Engineering for Everyone
elenatanasoiu
0
250
「正の参照」と 「負の導出」で組む ハーネスエンジニアリング
cottpan
1
110
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.6k
Featured
See All Featured
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
180
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.1k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
500
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The agentic SEO stack - context over prompts
schlessera
0
840
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
200
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Embracing the Ebb and Flow
colly
88
5.1k
Transcript
TestSubscriber Rx Ja Night 2016 #1 yuyakaido
Observableͷςετ ॻ͍ͯ·͔͢ʁ
ࣗݾհ • ւ౻༏ʢ͔͍Ͳ͏Ώ͏ʣ • גࣜձࣾΤϨΧ • ςετॻ͚ॻ͚͓͡͞Μ • Android
yuyakaido yuyakaido
גࣜձࣾΤϨΧ • ࣗࣾαʔϏεͷاըɾ։ൃɾӡӦ • ΦϯϥΠϯσʔςΟϯάαʔϏεɿ • Χοϓϧઐ༻ΞϓϦɿ • ࣾһɿ90໊ •
IAC ΤϯδχΞ 60 ඇΤϯδχΞ 30
Observableͷςετ
Integer[] actual = new Integer[] {1, 2, 3}; Observable<Integer> observable
= Observable.from(actual); final List<Integer> expect = new ArrayList<>(actual.length); observable.subscribe(new Subscriber<Integer>() { @Override public void onCompleted() {} @Override public void onError(Throwable e) {} @Override public void onNext(Integer integer) { expect.add(integer); } }); for (int i = 0, size = expect.size(); i < size; i++) { assertThat(expect.get(i), is(actual[i])); }
Integer[] actual = new Integer[] {1, 2, 3}; Observable<Integer> observable
= Observable.from(actual); final List<Integer> expect = new ArrayList<>(actual.length); observable.subscribe(new Subscriber<Integer>() { @Override public void onCompleted() {} @Override public void onError(Throwable e) {} @Override public void onNext(Integer integer) { expect.add(integer); } }); for (int i = 0, size = expect.size(); i < size; i++) { assertThat(expect.get(i), is(actual[i])); }
Integer[] actual = new Integer[] {1, 2, 3}; Observable<Integer> observable
= Observable.from(actual); final List<Integer> expect = new ArrayList<>(actual.length); observable.subscribe(new Subscriber<Integer>() { @Override public void onCompleted() {} @Override public void onError(Throwable e) {} @Override public void onNext(Integer integer) { expect.add(integer); } }); for (int i = 0, size = expect.size(); i < size; i++) { assertThat(expect.get(i), is(actual[i])); }
Integer[] actual = new Integer[] {1, 2, 3}; Observable<Integer> observable
= Observable.from(actual); final List<Integer> expect = new ArrayList<>(actual.length); observable.subscribe(new Subscriber<Integer>() { @Override public void onCompleted() {} @Override public void onError(Throwable e) {} @Override public void onNext(Integer integer) { expect.add(integer); } }); for (int i = 0, size = expect.size(); i < size; i++) { assertThat(expect.get(i), is(actual[i])); }
• onError() • onCompleted() • ඇಉظ
Integer[] actual = new Integer[] {1, 2, 3}; Observable<Integer> observable
= Observable.from(actual); final List<Integer> expect = new ArrayList<>(actual.length); observable.subscribe(new Subscriber<Integer>() { @Override public void onCompleted() {} @Override public void onError(Throwable e) {} @Override public void onNext(Integer integer) { expect.add(integer); throw new RuntimeException(); } }); for (int i = 0, size = expect.size(); i < size; i++) { assertThat(expect.get(i), is(actual[i])); }
Integer[] actual = new Integer[] {1, 2, 3}; Observable<Integer> observable
= Observable.from(actual); final List<Integer> expect = new ArrayList<>(actual.length); observable.subscribe(new Subscriber<Integer>() { @Override public void onCompleted() {} @Override public void onError(Throwable e) {} @Override public void onNext(Integer integer) { expect.add(integer); throw new RuntimeException(); } }); for (int i = 0, size = expect.size(); i < size; i++) { assertThat(expect.get(i), is(actual[i])); }
TestSubscriber
TestSubscriber Integer[] integers = new Integer[] {1, 2, 3}; Observable<Integer>
observable = Observable.from(integers); TestSubscriber<Integer> testSubscriber = new TestSubscriber<>(); observable.subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertValueCount(integers.length); testSubscriber.assertValues(integers); testSubscriber.assertCompleted();
TestSubscriber Integer[] integers = new Integer[] {1, 2, 3}; Observable<Integer>
observable = Observable.from(integers); TestSubscriber<Integer> testSubscriber = new TestSubscriber<>(); observable.subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertValueCount(integers.length); testSubscriber.assertValues(integers); testSubscriber.assertCompleted();
TestSubscriber Integer[] integers = new Integer[] {1, 2, 3}; Observable<Integer>
observable = Observable.from(integers); TestSubscriber<Integer> testSubscriber = new TestSubscriber<>(); observable.subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertValueCount(integers.length); testSubscriber.assertValues(integers); testSubscriber.assertCompleted();
TestSubscriber Integer[] integers = new Integer[] {1, 2, 3}; Observable<Integer>
observable = Observable.from(integers); TestSubscriber<Integer> testSubscriber = new TestSubscriber<>(); observable.subscribe(testSubscriber); testSubscriber.assertNoErrors(); testSubscriber.assertValueCount(integers.length); testSubscriber.assertValues(integers); testSubscriber.assertCompleted();
TestSubscriber • assert http://reactivex.io/RxJava/javadoc/rx/observers/TestSubscriber.html
TestSubscriber • assert http://reactivex.io/RxJava/javadoc/rx/observers/TestSubscriber.html
TestSubscriber • ඇಉظ http://reactivex.io/RxJava/javadoc/rx/observers/TestSubscriber.html
TestSubscriber • Πϕϯτऔಘ http://reactivex.io/RxJava/javadoc/rx/observers/TestSubscriber.html
Observableͷςετ ॻ͖·͠ΐ͏ʂʂ
Thank you :) Credit: NASA Earth Observatory/NOAA NGDC