@Test
public void testNumberOfThreadsOnScheduledMerge() {

    final ConcurrentHashMap<Long, Long> threads = new ConcurrentHashMap<Long, Long>();
    // now we parallelMerge into 3 streams and observeOn for each
    // we expect 3 threads in the output
    Observable.merge(OperationParallelMerge.parallelMerge(getStreams(), 3, Schedulers.newThread()))
            .toBlockingObservable().forEach(new Action1<String>() {
                @Override
                public void call(String o) {
                    System.out.println("o: " + o + " Thread: " + Thread.currentThread().getId());
                    threads.put(Thread.currentThread().getId(), Thread.currentThread().getId());
                }
            });
    assertEquals(3, threads.keySet().size());
}