Search in sources :

Example 1 with Tuple.tuple

use of cyclops.data.tuple.Tuple.tuple in project cyclops by aol.

the class AbstractIterableXTest method pairZipWise.

@Test
public void pairZipWise() {
    AtomicBoolean data = new AtomicBoolean(false);
    AtomicReference<Vector<Tuple2<Integer, String>>> values = new AtomicReference<>(Vector.empty());
    AtomicBoolean complete = new AtomicBoolean(false);
    AtomicReference<Throwable> error = new AtomicReference<Throwable>(null);
    of(1).zip(of("test")).zip(of("test2")).map(t -> Tuple.tuple(t._1()._1(), t._1()._2() + t._2())).forEach(n -> {
        data.set(true);
        values.updateAndGet(v -> v.plus(n));
    }, e -> {
        error.set(e);
    }, () -> {
        complete.set(true);
    });
    assertTrue(data.get());
    assertTrue(complete.get());
    assertNull(error.get());
    assertThat(values.get(), Matchers.equalTo(Vector.of(Tuple.tuple(1, "testtest2"))));
}
Also used : StepVerifier(reactor.test.StepVerifier) HashMap(cyclops.data.HashMap) Trampoline(cyclops.control.Trampoline) Monoids(cyclops.companion.Monoids) UnaryOperator(java.util.function.UnaryOperator) MockitoAnnotations(org.mockito.MockitoAnnotations) Arrays.asList(java.util.Arrays.asList) Semigroups(cyclops.companion.Semigroups) cyclops.data(cyclops.data) ReactiveSeq.fromIntStream(cyclops.reactive.ReactiveSeq.fromIntStream) Monoid(cyclops.function.Monoid) SimpleTimer(com.oath.cyclops.util.SimpleTimer) Collectors(java.util.stream.Collectors) Executors(java.util.concurrent.Executors) Serializable(java.io.Serializable) ReactiveSeq(cyclops.reactive.ReactiveSeq) Stream(java.util.stream.Stream) IterableX(com.oath.cyclops.types.traversable.IterableX) ExceptionSoftener(com.oath.cyclops.util.ExceptionSoftener) Try(cyclops.control.Try) TreeSet(cyclops.data.TreeSet) Tuple4(cyclops.data.tuple.Tuple4) IntStream(java.util.stream.IntStream) Tuple3(cyclops.data.tuple.Tuple3) Tuple2(cyclops.data.tuple.Tuple2) java.util(java.util) CoreMatchers.equalTo(org.hamcrest.CoreMatchers.equalTo) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Vector(cyclops.data.Vector) AtomicReference(java.util.concurrent.atomic.AtomicReference) Function(java.util.function.Function) Supplier(java.util.function.Supplier) Tuple(cyclops.data.tuple.Tuple) Tuple.tuple(cyclops.data.tuple.Tuple.tuple) IsEqual(org.hamcrest.core.IsEqual) Option(cyclops.control.Option) Comparator.comparing(java.util.Comparator.comparing) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) Before(org.junit.Before) Maybe(cyclops.control.Maybe) LongStream(java.util.stream.LongStream) Spouts(cyclops.reactive.Spouts) Streams(cyclops.companion.Streams) Executor(java.util.concurrent.Executor) Matchers(org.hamcrest.Matchers) Test(org.junit.Test) IOException(java.io.IOException) TimeUnit(java.util.concurrent.TimeUnit) Ignore(org.junit.Ignore) Subscription(org.reactivestreams.Subscription) Assert(org.junit.Assert) Reducers(cyclops.companion.Reducers) Streamable(cyclops.companion.Streamable) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) AtomicReference(java.util.concurrent.atomic.AtomicReference) Vector(cyclops.data.Vector) Test(org.junit.Test)

Example 2 with Tuple.tuple

use of cyclops.data.tuple.Tuple.tuple in project cyclops by aol.

the class AbstractIterableXTest method pairWiseZipIncremental.

@Test
public void pairWiseZipIncremental() {
    AtomicBoolean data = new AtomicBoolean(false);
    AtomicReference<Vector<Tuple2<Integer, String>>> values = new AtomicReference<>(Vector.empty());
    AtomicBoolean complete = new AtomicBoolean(false);
    AtomicReference<Throwable> error = new AtomicReference<Throwable>(null);
    Subscription sub = of(1).zip(of("test")).zip(of("test2")).map(t -> Tuple.tuple(t._1()._1(), t._1()._2() + t._2())).forEach(0, n -> {
        data.set(true);
        values.updateAndGet(v -> v.plus(n));
    }, e -> {
        error.set(e);
    }, () -> {
        complete.set(true);
    });
    assertFalse(data.get());
    assertFalse(complete.get());
    assertNull(error.get());
    assertThat(values.get(), Matchers.equalTo(Vector.empty()));
    sub.request(10l);
    assertTrue(data.get());
    assertTrue(complete.get());
    assertNull(error.get());
    assertThat(values.get(), Matchers.equalTo(Vector.of(Tuple.tuple(1, "testtest2"))));
}
Also used : StepVerifier(reactor.test.StepVerifier) HashMap(cyclops.data.HashMap) Trampoline(cyclops.control.Trampoline) Monoids(cyclops.companion.Monoids) UnaryOperator(java.util.function.UnaryOperator) MockitoAnnotations(org.mockito.MockitoAnnotations) Arrays.asList(java.util.Arrays.asList) Semigroups(cyclops.companion.Semigroups) cyclops.data(cyclops.data) ReactiveSeq.fromIntStream(cyclops.reactive.ReactiveSeq.fromIntStream) Monoid(cyclops.function.Monoid) SimpleTimer(com.oath.cyclops.util.SimpleTimer) Collectors(java.util.stream.Collectors) Executors(java.util.concurrent.Executors) Serializable(java.io.Serializable) ReactiveSeq(cyclops.reactive.ReactiveSeq) Stream(java.util.stream.Stream) IterableX(com.oath.cyclops.types.traversable.IterableX) ExceptionSoftener(com.oath.cyclops.util.ExceptionSoftener) Try(cyclops.control.Try) TreeSet(cyclops.data.TreeSet) Tuple4(cyclops.data.tuple.Tuple4) IntStream(java.util.stream.IntStream) Tuple3(cyclops.data.tuple.Tuple3) Tuple2(cyclops.data.tuple.Tuple2) java.util(java.util) CoreMatchers.equalTo(org.hamcrest.CoreMatchers.equalTo) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Vector(cyclops.data.Vector) AtomicReference(java.util.concurrent.atomic.AtomicReference) Function(java.util.function.Function) Supplier(java.util.function.Supplier) Tuple(cyclops.data.tuple.Tuple) Tuple.tuple(cyclops.data.tuple.Tuple.tuple) IsEqual(org.hamcrest.core.IsEqual) Option(cyclops.control.Option) Comparator.comparing(java.util.Comparator.comparing) MatcherAssert.assertThat(org.hamcrest.MatcherAssert.assertThat) Before(org.junit.Before) Maybe(cyclops.control.Maybe) LongStream(java.util.stream.LongStream) Spouts(cyclops.reactive.Spouts) Streams(cyclops.companion.Streams) Executor(java.util.concurrent.Executor) Matchers(org.hamcrest.Matchers) Test(org.junit.Test) IOException(java.io.IOException) TimeUnit(java.util.concurrent.TimeUnit) Ignore(org.junit.Ignore) Subscription(org.reactivestreams.Subscription) Assert(org.junit.Assert) Reducers(cyclops.companion.Reducers) Streamable(cyclops.companion.Streamable) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) AtomicReference(java.util.concurrent.atomic.AtomicReference) Subscription(org.reactivestreams.Subscription) Vector(cyclops.data.Vector) Test(org.junit.Test)

Aggregations

IterableX (com.oath.cyclops.types.traversable.IterableX)2 ExceptionSoftener (com.oath.cyclops.util.ExceptionSoftener)2 SimpleTimer (com.oath.cyclops.util.SimpleTimer)2 Monoids (cyclops.companion.Monoids)2 Reducers (cyclops.companion.Reducers)2 Semigroups (cyclops.companion.Semigroups)2 Streamable (cyclops.companion.Streamable)2 Streams (cyclops.companion.Streams)2 Maybe (cyclops.control.Maybe)2 Option (cyclops.control.Option)2 Trampoline (cyclops.control.Trampoline)2 Try (cyclops.control.Try)2 cyclops.data (cyclops.data)2 HashMap (cyclops.data.HashMap)2 TreeSet (cyclops.data.TreeSet)2 Vector (cyclops.data.Vector)2 Tuple (cyclops.data.tuple.Tuple)2 Tuple.tuple (cyclops.data.tuple.Tuple.tuple)2 Tuple2 (cyclops.data.tuple.Tuple2)2 Tuple3 (cyclops.data.tuple.Tuple3)2