@Test
public void fusionWithConcatMap() {

    TestSubscriber<Integer> ts = new TestSubscriber<Integer>();
    Flowable.fromIterable(Arrays.asList(1, 2, 3, 4)).concatMap(
    new Function<Integer, Flowable  <Integer>>() {
        @Override
        public Flowable<Integer> apply(Integer v) {
            return Flowable.range(v, 2);
        }
    }).subscribe(ts);
    ts.assertValues(1, 2, 2, 3, 3, 4, 4, 5);
    ts.assertNoErrors();
    ts.assertComplete();
}