Search in sources :

Example 1 with Spouts.of

use of cyclops.reactive.Spouts.of in project cyclops by aol.

the class FlatMapTest 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).flatMap(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));
    }
}
Also used : AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Maybe(cyclops.control.Maybe) Arrays(java.util.Arrays) Spouts.of(cyclops.reactive.Spouts.of) Spouts(cyclops.reactive.Spouts) ReactiveSubscriber(com.oath.cyclops.types.reactive.ReactiveSubscriber) CoreMatchers.equalTo(org.hamcrest.CoreMatchers.equalTo) Matchers(org.hamcrest.Matchers) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Test(org.junit.Test) Collectors(java.util.stream.Collectors) Matchers.hasItems(org.hamcrest.Matchers.hasItems) ReactiveSeq(cyclops.reactive.ReactiveSeq) Flux(reactor.core.publisher.Flux) AtomicLong(java.util.concurrent.atomic.AtomicLong) List(java.util.List) Stream(java.util.stream.Stream) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ForkJoinPool(java.util.concurrent.ForkJoinPool) Subscription(org.reactivestreams.Subscription) Schedulers(reactor.core.scheduler.Schedulers) AsyncSubscriber(com.oath.cyclops.types.reactive.AsyncSubscriber) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) Assert(org.junit.Assert) Subscriber(org.reactivestreams.Subscriber) Test(org.junit.Test)

Example 2 with Spouts.of

use of cyclops.reactive.Spouts.of in project cyclops by aol.

the class FlatMapTest method flatMapPAsync3.

@Test
public void flatMapPAsync3() {
    for (int k = 0; k < 10; k++) {
        List<Integer> res = Spouts.of(1, 2, 3).flatMap(i -> nextAsyncRS()).toList();
        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));
    }
}
Also used : AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Maybe(cyclops.control.Maybe) Arrays(java.util.Arrays) Spouts.of(cyclops.reactive.Spouts.of) Spouts(cyclops.reactive.Spouts) ReactiveSubscriber(com.oath.cyclops.types.reactive.ReactiveSubscriber) CoreMatchers.equalTo(org.hamcrest.CoreMatchers.equalTo) Matchers(org.hamcrest.Matchers) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Test(org.junit.Test) Collectors(java.util.stream.Collectors) Matchers.hasItems(org.hamcrest.Matchers.hasItems) ReactiveSeq(cyclops.reactive.ReactiveSeq) Flux(reactor.core.publisher.Flux) AtomicLong(java.util.concurrent.atomic.AtomicLong) List(java.util.List) Stream(java.util.stream.Stream) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ForkJoinPool(java.util.concurrent.ForkJoinPool) Subscription(org.reactivestreams.Subscription) Schedulers(reactor.core.scheduler.Schedulers) AsyncSubscriber(com.oath.cyclops.types.reactive.AsyncSubscriber) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) Assert(org.junit.Assert) Subscriber(org.reactivestreams.Subscriber) Test(org.junit.Test)

Example 3 with Spouts.of

use of cyclops.reactive.Spouts.of in project cyclops by aol.

the class IterableFlatMapTest method flatMapAsync2.

@Test
public void flatMapAsync2() {
    for (int k = 0; k < 100; k++) {
        List<Integer> res = Spouts.of(1, 2, 3).concatMap(i -> nextAsync()).toList();
        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));
    }
}
Also used : AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Maybe(cyclops.control.Maybe) Arrays(java.util.Arrays) Spouts.of(cyclops.reactive.Spouts.of) Spouts(cyclops.reactive.Spouts) ReactiveSubscriber(com.oath.cyclops.types.reactive.ReactiveSubscriber) CoreMatchers.equalTo(org.hamcrest.CoreMatchers.equalTo) Matchers(org.hamcrest.Matchers) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Test(org.junit.Test) Collectors(java.util.stream.Collectors) Matchers.hasItems(org.hamcrest.Matchers.hasItems) ReactiveSeq(cyclops.reactive.ReactiveSeq) Flux(reactor.core.publisher.Flux) AtomicLong(java.util.concurrent.atomic.AtomicLong) List(java.util.List) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ForkJoinPool(java.util.concurrent.ForkJoinPool) Subscription(org.reactivestreams.Subscription) Schedulers(reactor.core.scheduler.Schedulers) AsyncSubscriber(com.oath.cyclops.types.reactive.AsyncSubscriber) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) Assert(org.junit.Assert) Subscriber(org.reactivestreams.Subscriber) Test(org.junit.Test)

Example 4 with Spouts.of

use of cyclops.reactive.Spouts.of in project cyclops by aol.

the class IterableFlatMapTest method flatMapPAsync3.

@Test
public void flatMapPAsync3() {
    for (int k = 0; k < 10; k++) {
        List<Integer> res = Spouts.of(1, 2, 3).concatMap(i -> nextAsyncRS()).toList();
        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));
    }
}
Also used : AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Maybe(cyclops.control.Maybe) Arrays(java.util.Arrays) Spouts.of(cyclops.reactive.Spouts.of) Spouts(cyclops.reactive.Spouts) ReactiveSubscriber(com.oath.cyclops.types.reactive.ReactiveSubscriber) CoreMatchers.equalTo(org.hamcrest.CoreMatchers.equalTo) Matchers(org.hamcrest.Matchers) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Test(org.junit.Test) Collectors(java.util.stream.Collectors) Matchers.hasItems(org.hamcrest.Matchers.hasItems) ReactiveSeq(cyclops.reactive.ReactiveSeq) Flux(reactor.core.publisher.Flux) AtomicLong(java.util.concurrent.atomic.AtomicLong) List(java.util.List) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ForkJoinPool(java.util.concurrent.ForkJoinPool) Subscription(org.reactivestreams.Subscription) Schedulers(reactor.core.scheduler.Schedulers) AsyncSubscriber(com.oath.cyclops.types.reactive.AsyncSubscriber) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) Assert(org.junit.Assert) Subscriber(org.reactivestreams.Subscriber) Test(org.junit.Test)

Example 5 with Spouts.of

use of cyclops.reactive.Spouts.of in project cyclops by aol.

the class FlatMapPublisherTest method concurrentFlatMapP.

@Test
public void concurrentFlatMapP() {
    for (int k = 0; k < 500; k++) {
        System.out.println("****************************NEXT ITERATION " + k);
        System.out.println("****************************NEXT ITERATION " + k);
        System.out.println("****************************NEXT ITERATION " + k);
        System.out.println("****************************NEXT ITERATION " + k);
        System.out.println("****************************NEXT ITERATION " + k);
        System.out.println("****************************NEXT ITERATION " + k);
        System.out.println("****************************NEXT ITERATION " + k + "*************************!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        List<Integer> res = Spouts.of(1, 2, 3).mergeMap(3, i -> nextAsync()).toList();
        System.out.println("Result is " + 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));
    }
}
Also used : AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Arrays(java.util.Arrays) Spouts.of(cyclops.reactive.Spouts.of) CoreMatchers.equalTo(org.hamcrest.CoreMatchers.equalTo) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Matchers.hasItems(org.hamcrest.Matchers.hasItems) ArrayList(java.util.ArrayList) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Schedulers(reactor.core.scheduler.Schedulers) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) Subscriber(org.reactivestreams.Subscriber) Maybe(cyclops.control.Maybe) Spouts(cyclops.reactive.Spouts) Iterator(java.util.Iterator) ReactiveSubscriber(com.oath.cyclops.types.reactive.ReactiveSubscriber) Executor(java.util.concurrent.Executor) Matchers(org.hamcrest.Matchers) Test(org.junit.Test) Collectors(java.util.stream.Collectors) Executors(java.util.concurrent.Executors) ReactiveSeq(cyclops.reactive.ReactiveSeq) Flux(reactor.core.publisher.Flux) List(java.util.List) MatcherAssert(org.hamcrest.MatcherAssert) ForkJoinPool(java.util.concurrent.ForkJoinPool) Subscription(org.reactivestreams.Subscription) Assert(org.junit.Assert) Test(org.junit.Test)

Aggregations

ReactiveSubscriber (com.oath.cyclops.types.reactive.ReactiveSubscriber)26 Maybe (cyclops.control.Maybe)26 ReactiveSeq (cyclops.reactive.ReactiveSeq)26 Spouts (cyclops.reactive.Spouts)26 Spouts.of (cyclops.reactive.Spouts.of)26 Arrays (java.util.Arrays)26 List (java.util.List)26 ForkJoinPool (java.util.concurrent.ForkJoinPool)26 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)26 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)26 Collectors (java.util.stream.Collectors)26 CoreMatchers.equalTo (org.hamcrest.CoreMatchers.equalTo)26 MatcherAssert.assertThat (org.hamcrest.MatcherAssert.assertThat)26 Matchers (org.hamcrest.Matchers)26 Matchers.hasItems (org.hamcrest.Matchers.hasItems)26 Assert (org.junit.Assert)26 Test (org.junit.Test)26 Subscriber (org.reactivestreams.Subscriber)26 Subscription (org.reactivestreams.Subscription)26 Flux (reactor.core.publisher.Flux)26