Search in sources :

Example 16 with ReactiveSeq

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

the class RxTest method anyMAsync.

@Test
public void anyMAsync() {
    AtomicBoolean complete = new AtomicBoolean(false);
    ReactiveSeq<Integer> asyncSeq = Spouts.async(Stream.of(1, 2, 3), Executors.newFixedThreadPool(1));
    Observable<Integer> observableAsync = Observables.observableFrom(asyncSeq);
    AnyMSeq<observable, Integer> monad = Observables.anyM(observableAsync);
    monad.map(i -> i * 2).forEach(System.out::println, System.err::println, () -> complete.set(true));
    System.out.println("Blocked? " + complete.get());
    while (!complete.get()) {
        Thread.yield();
    }
    Observable<Integer> converted = ObservableAnyM.raw(monad);
}
Also used : ListX(cyclops.reactive.collections.mutable.ListX) Observables(cyclops.companion.rx2.Observables) ObservableAnyM(cyclops.monads.ObservableAnyM) ReactiveConvertableSequence(com.oath.cyclops.ReactiveConvertableSequence) FlowableReactiveSeq(cyclops.reactive.FlowableReactiveSeq) Spouts(cyclops.reactive.Spouts) AnyMSeq(com.oath.cyclops.anym.AnyMSeq) Flowables(cyclops.companion.rx2.Flowables) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Test(org.junit.Test) FlowableCollections(cyclops.reactive.FlowableCollections) Executors(java.util.concurrent.Executors) Assert.assertThat(org.junit.Assert.assertThat) ReactiveSeq(cyclops.reactive.ReactiveSeq) Stream(java.util.stream.Stream) ObservableReactiveSeq.reactiveSeq(cyclops.reactive.ObservableReactiveSeq.reactiveSeq) Rx2Witness.observable(cyclops.monads.Rx2Witness.observable) Flowable(io.reactivex.Flowable) Matchers.equalTo(org.hamcrest.Matchers.equalTo) Observable(io.reactivex.Observable) ObservableReactiveSeq(cyclops.reactive.ObservableReactiveSeq) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Rx2Witness.observable(cyclops.monads.Rx2Witness.observable) Test(org.junit.Test)

Example 17 with ReactiveSeq

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

the class SyncZippingTest method testUnzip3.

@Test
public void testUnzip3() {
    Supplier<ReactiveSeq<Tuple3<Integer, String, Long>>> s = () -> of(new Tuple3(1, "a", 2l), new Tuple3(2, "b", 3l), new Tuple3(3, "c", 4l));
    Tuple3<ReactiveSeq<Integer>, ReactiveSeq<String>, ReactiveSeq<Long>> u1 = ReactiveSeq.unzip3(s.get());
    assertTrue(u1._1().toList().containsAll(Arrays.asList(1, 2, 3)));
    assertTrue(u1._2().toList().containsAll(asList("a", "b", "c")));
    assertTrue(u1._3().toList().containsAll(asList(2l, 3l, 4l)));
}
Also used : Tuple3(cyclops.data.tuple.Tuple3) FlowableReactiveSeq(cyclops.reactive.FlowableReactiveSeq) ReactiveSeq(cyclops.reactive.ReactiveSeq) Test(org.junit.Test)

Example 18 with ReactiveSeq

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

the class SyncZippingTest method testUnzipWithLimits.

@Test
public void testUnzipWithLimits() {
    Supplier<ReactiveSeq<Tuple2<Integer, String>>> s = () -> of(new Tuple2(1, "a"), new Tuple2(2, "b"), new Tuple2(3, "c"));
    Tuple2<ReactiveSeq<Integer>, ReactiveSeq<String>> u1 = ReactiveSeq.unzip(s.get());
    assertTrue(u1._1().limit(2).toList().containsAll(Arrays.asList(1, 2)));
    assertTrue(u1._2().toList().containsAll(asList("a", "b", "c")));
}
Also used : Tuple2(cyclops.data.tuple.Tuple2) FlowableReactiveSeq(cyclops.reactive.FlowableReactiveSeq) ReactiveSeq(cyclops.reactive.ReactiveSeq) Test(org.junit.Test)

Example 19 with ReactiveSeq

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

the class SyncZippingTest method testUnzip3WithLimits.

@Test
public void testUnzip3WithLimits() {
    Supplier<ReactiveSeq<Tuple3<Integer, String, Long>>> s = () -> of(new Tuple3(1, "a", 2l), new Tuple3(2, "b", 3l), new Tuple3(3, "c", 4l));
    Tuple3<ReactiveSeq<Integer>, ReactiveSeq<String>, ReactiveSeq<Long>> u1 = ReactiveSeq.unzip3(s.get());
    assertTrue(u1._1().limit(1).toList().containsAll(Arrays.asList(1)));
    assertTrue(u1._2().limit(2).toList().containsAll(asList("a", "b")));
    assertTrue(u1._3().toList().containsAll(asList(2l, 3l, 4l)));
}
Also used : Tuple3(cyclops.data.tuple.Tuple3) FlowableReactiveSeq(cyclops.reactive.FlowableReactiveSeq) ReactiveSeq(cyclops.reactive.ReactiveSeq) Test(org.junit.Test)

Example 20 with ReactiveSeq

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

the class SyncZippingTest method testUnzip4WithLimits.

@Test
public void testUnzip4WithLimits() {
    Supplier<ReactiveSeq<Tuple4<Integer, String, Long, Character>>> s = () -> of(new Tuple4(1, "a", 2l, 'z'), new Tuple4(2, "b", 3l, 'y'), new Tuple4(3, "c", 4l, 'x'));
    Tuple4<ReactiveSeq<Integer>, ReactiveSeq<String>, ReactiveSeq<Long>, ReactiveSeq<Character>> u1 = ReactiveSeq.unzip4(s.get());
    assertTrue(u1._1().limit(1).toList().containsAll(Arrays.asList(1)));
    assertTrue(u1._2().limit(2).toList().containsAll(asList("a", "b")));
    assertTrue(u1._3().limit(3).toList().containsAll(asList(2l, 3l, 4l)));
    assertTrue(u1._4().limit(4).toList().containsAll(asList('z', 'y', 'x')));
}
Also used : Tuple4(cyclops.data.tuple.Tuple4) FlowableReactiveSeq(cyclops.reactive.FlowableReactiveSeq) ReactiveSeq(cyclops.reactive.ReactiveSeq) Test(org.junit.Test)

Aggregations

ReactiveSeq (cyclops.reactive.ReactiveSeq)101 Test (org.junit.Test)91 Tuple3 (cyclops.data.tuple.Tuple3)33 Tuple4 (cyclops.data.tuple.Tuple4)33 Tuple2 (cyclops.data.tuple.Tuple2)31 FlowableReactiveSeq (cyclops.reactive.FlowableReactiveSeq)19 FluxReactiveSeq (cyclops.reactive.FluxReactiveSeq)18 Stream (java.util.stream.Stream)17 Collectors (java.util.stream.Collectors)16 FutureStream (cyclops.futurestream.FutureStream)12 QueueFactories (com.oath.cyclops.async.QueueFactories)11 Queue (com.oath.cyclops.async.adapters.Queue)11 LazyReact (cyclops.futurestream.LazyReact)11 Supplier (java.util.function.Supplier)10 Signal (com.oath.cyclops.async.adapters.Signal)9 List (java.util.List)9 Spouts (cyclops.reactive.Spouts)8 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)8 Matchers.equalTo (org.hamcrest.Matchers.equalTo)8 Assert.assertThat (org.junit.Assert.assertThat)8