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"))));
}
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"))));
}
Aggregations