use of cyclops.data.Vector in project cyclops by aol.
the class LimitWhileClosedOperatorTest method takeWhile1Async.
@Test
public void takeWhile1Async() {
AtomicReference<Vector<Integer>> data = new AtomicReference(Vector.empty());
AtomicBoolean complete = new AtomicBoolean(false);
AtomicReference<Throwable> error = new AtomicReference<Throwable>(null);
Spouts.async(ReactiveSeq.of(1, 2, 3, 4, 5), ex).takeWhileInclusive(i -> i < 1).forEach(n -> {
assertFalse(complete.get());
data.updateAndGet(s -> s.plus(n));
}, e -> {
error.set(e);
}, () -> {
complete.set(true);
});
while (!complete.get()) {
LockSupport.parkNanos(10l);
}
assertThat(data.get(), equalTo(Vector.of(1)));
assertThat(complete.get(), equalTo(true));
assertNull(error.get());
}
use of cyclops.data.Vector in project cyclops by aol.
the class LimitWhileClosedOperatorTest method takeWhile5.
@Test
public void takeWhile5() {
AtomicReference<Vector<Integer>> data = new AtomicReference(Vector.empty());
AtomicBoolean complete = new AtomicBoolean(false);
AtomicReference<Throwable> error = new AtomicReference<Throwable>(null);
Spouts.of(1, 2, 3, 4, 5).takeWhileInclusive(i -> true).forEach(n -> {
assertFalse(complete.get());
data.updateAndGet(s -> s.plus(n));
}, e -> {
error.set(e);
}, () -> {
complete.set(true);
});
assertThat(data.get(), equalTo(Vector.of(1, 2, 3, 4, 5)));
assertThat(complete.get(), equalTo(true));
assertNull(error.get());
}
use of cyclops.data.Vector in project cyclops by aol.
the class SkipWhileClosedOperatorTest method dropWhile5Async.
@Test
public void dropWhile5Async() {
AtomicReference<Vector<Integer>> data = new AtomicReference(Vector.empty());
AtomicBoolean complete = new AtomicBoolean(false);
AtomicReference<Throwable> error = new AtomicReference<Throwable>(null);
Spouts.async(ReactiveSeq.of(1, 2, 3, 4, 5), ex).dropWhileInclusive(i -> false).forEach(n -> {
assertFalse(complete.get());
data.updateAndGet(s -> s.plus(n));
}, e -> {
error.set(e);
}, () -> {
complete.set(true);
});
while (!complete.get()) {
LockSupport.parkNanos(10l);
}
assertThat(data.get(), equalTo(Vector.of(2, 3, 4, 5)));
assertThat(complete.get(), equalTo(true));
assertNull(error.get());
}
use of cyclops.data.Vector in project cyclops by aol.
the class SkipWhileClosedOperatorTest method dropWhile1_transforms5.
@Test
public void dropWhile1_transforms5() {
AtomicReference<Vector<Integer>> data = new AtomicReference(Vector.empty());
AtomicBoolean complete = new AtomicBoolean(false);
AtomicReference<Throwable> error = new AtomicReference<Throwable>(null);
AtomicInteger peeks = new AtomicInteger(0);
Spouts.of(1, 2, 3, 4, 5).peek(System.out::println).peek(p -> peeks.incrementAndGet()).dropWhileInclusive(i -> i < 1).forEach(n -> {
assertFalse(complete.get());
data.updateAndGet(s -> s.plus(n));
}, e -> {
error.set(e);
}, () -> {
complete.set(true);
});
assertThat(peeks.get(), equalTo(5));
assertThat(data.get(), equalTo(Vector.of(2, 3, 4, 5)));
assertThat(complete.get(), equalTo(true));
assertNull(error.get());
}
use of cyclops.data.Vector in project cyclops by aol.
the class SkipWhileClosedOperatorTest method dropWhile1.
@Test
public void dropWhile1() {
AtomicReference<Vector<Integer>> data = new AtomicReference(Vector.empty());
AtomicBoolean complete = new AtomicBoolean(false);
AtomicReference<Throwable> error = new AtomicReference<Throwable>(null);
Spouts.of(1, 2, 3, 4, 5).dropWhileInclusive(i -> i < 5).forEach(n -> {
assertFalse(complete.get());
data.updateAndGet(s -> s.plus(n));
}, e -> {
error.set(e);
}, () -> {
complete.set(true);
});
assertThat(data.get(), equalTo(Vector.of()));
assertThat(complete.get(), equalTo(true));
assertNull(error.get());
}
Aggregations