47
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

背景

前回 作りながら理解する UniRx という記事を書きました。
Rxの基本の仕組みを解説したのですが、それからもう一歩次にUniRxの理解を深めてくれるような何かがないかなと考えていました。

もう少し踏み入って実際のUniRxの関数など知ってもらえる手段として、Quiz形式にしてみたらどうかと思い立って作ってみました。

UniRx Quizとは?

nunitで書かれたQuizTestのFIXMEの該当箇所を変更することで、答えていくQuizです。

quiz.png

QuizTest.csにクイズが、AnswerTest.csに答えが載っています.
すべてのQuizTestをpassする頃には、一人前のRx使いになれるでしょう(たぶん).

Q1: 1を出力する Cold Observable をつくれ

[Test]
public void Q1()
{
    var observer = new TestObserver<int>();

    // Q. 1を出力する Cold Observable をつくれ
    var observable = (IObservable<int>) null; // FIXME
    observable.Subscribe(observer);

    // CHECK
    Assert.AreEqual(1, observer.CountNext);
    Assert.AreEqual(1, observer.NextList[0]);
}

みたいな感じの問題がひたすら書かれています。

解きかた

レポジトリ

手順:

  1. UniRxQuizをcloneしてそのまま開くか、unitypackageをDLしてimportします.
  2. Unitテストを実行します. (Window > Test Runner > Run All)
  3. QuizTest.cs のFIXMEを修正して、testをpassするように修正します
  4. 最後に AnswerTest.cs の中身と比べて正答かどうか確かめてみてください.

その他

まずは初学者向けにということで、基本的な関数の使い方を紹介するようなQuizしか用意してないです。
なんか面白い応用的なQuizあれば、PRくれると嬉しいです!

47
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
47
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?