Schedulers

Couple of things that might be helpful, RxUI has some helpers to wrap the schedulers up, and you can just pass ImmediateScheduler.Instance into them - this is neat because it limits the scope and stops you sharing schedulers between tests.

The advantage of the that way is you get the scheduler to play with, which is nice if you're using a TestScheduler because you don't have to worry about tidying up after yourself (e.g. (new TestScheduler()).With(sched=>);)

Each thread has its own set of test schedulers that the With extension manages for you. This means that even if your tests run asynchronously, they will in theory not stomp on each other's schedulers.