use of com.oath.cyclops.types.reactive.ReactiveSubscriber in project cyclops by aol.
the class IterableFlatMapTest method flatMapAsyncRS2.
@Test
public void flatMapAsyncRS2() {
for (int k = 0; k < 1000; k++) {
System.out.println("********0---------------------K " + k);
ReactiveSubscriber<Integer> sub = Spouts.reactiveSubscriber();
Spouts.of(1, 2, 3).peek(System.out::println).concatMap(i -> nextAsyncRS()).subscribe(sub);
List<Integer> res = sub.reactiveStream().collect(Collectors.toList());
System.out.println(res);
assertThat(res.size(), equalTo(Arrays.asList(1, 2, 1, 2, 1, 2).size()));
assertThat(res, hasItems(1, 2));
int one = 0;
int two = 0;
for (Integer next : res) {
if (next == 1) {
one++;
}
if (next == 2) {
two++;
}
}
assertThat(one, equalTo(3));
assertThat(two, equalTo(3));
}
}
use of com.oath.cyclops.types.reactive.ReactiveSubscriber in project cyclops by aol.
the class IterableFlatMapTest method flatMapAsyncRS.
@Test
public void flatMapAsyncRS() {
for (int k = 0; k < 1000; k++) {
complete = new AtomicBoolean(false);
count = new AtomicInteger(0);
ReactiveSubscriber<Integer> sub = Spouts.reactiveSubscriber();
Spouts.of(1, 2, 3).peek(System.out::println).concatMap(i -> nextAsyncRS()).subscribe(new Subscriber<Integer>() {
@Override
public void onSubscribe(Subscription s) {
subs = s;
}
@Override
public void onNext(Integer integer) {
System.out.println("RECIEVED " + integer);
assertThat(integer, Matchers.isOneOf(1, 2));
System.out.println("count " + count.incrementAndGet());
}
@Override
public void onError(Throwable t) {
}
@Override
public void onComplete() {
complete.set(true);
}
});
subs.request(Long.MAX_VALUE);
while (!complete.get()) {
}
assertThat(count.get(), equalTo(6));
}
}
use of com.oath.cyclops.types.reactive.ReactiveSubscriber in project cyclops by aol.
the class FlatMapTest method flatMapAsyncRS.
@Test
public void flatMapAsyncRS() {
for (int k = 0; k < 1000; k++) {
complete = new AtomicBoolean(false);
count = new AtomicInteger(0);
ReactiveSubscriber<Integer> sub = Spouts.reactiveSubscriber();
Spouts.of(1, 2, 3).peek(System.out::println).flatMap(i -> nextAsyncRS()).subscribe(new Subscriber<Integer>() {
@Override
public void onSubscribe(Subscription s) {
subs = s;
}
@Override
public void onNext(Integer integer) {
System.out.println("RECIEVED " + integer);
assertThat(integer, Matchers.isOneOf(1, 2));
System.out.println("count " + count.incrementAndGet());
}
@Override
public void onError(Throwable t) {
}
@Override
public void onComplete() {
complete.set(true);
}
});
subs.request(Long.MAX_VALUE);
while (!complete.get()) {
}
assertThat(count.get(), equalTo(6));
}
}
Aggregations