Search in sources :

Example 1 with Maybe

use of cyclops.control.Maybe in project cyclops by aol.

the class AnyMTest method flatMapValueFirstQueue.

@Test
public void flatMapValueFirstQueue() {
    Maybe l = AnyM.fromMaybe(Maybe.of(1)).concatMap(i -> QueueX.of(10, i)).toMaybe();
    assertThat(l, equalTo(Maybe.of(10)));
}
Also used : IntStream(java.util.stream.IntStream) ListX(cyclops.reactive.collections.mutable.ListX) Arrays(java.util.Arrays) Tuple2(cyclops.data.tuple.Tuple2) OptionalDouble(java.util.OptionalDouble) CompletableFuture(java.util.concurrent.CompletableFuture) Witness(cyclops.monads.Witness) Optionals(cyclops.companion.Optionals) OptionalInt(java.util.OptionalInt) WitnessType(cyclops.monads.WitnessType) Eval(cyclops.control.Eval) Assert.assertThat(org.junit.Assert.assertThat) HashSet(java.util.HashSet) SetX(cyclops.reactive.collections.mutable.SetX) OptionalLong(java.util.OptionalLong) Tuple(cyclops.data.tuple.Tuple) AnyM(cyclops.monads.AnyM) Maybe(cyclops.control.Maybe) LongStream(java.util.stream.LongStream) AnyMSeq(com.oath.cyclops.anym.AnyMSeq) QueueX(cyclops.reactive.collections.mutable.QueueX) Set(java.util.Set) Test(org.junit.Test) DoubleStream(java.util.stream.DoubleStream) Matchers.instanceOf(org.hamcrest.Matchers.instanceOf) Flux(reactor.core.publisher.Flux) List(java.util.List) Stream(java.util.stream.Stream) Matchers.equalTo(org.hamcrest.Matchers.equalTo) Optional(java.util.Optional) Assert.assertEquals(org.junit.Assert.assertEquals) Maybe(cyclops.control.Maybe) Test(org.junit.Test)

Example 2 with Maybe

use of cyclops.control.Maybe in project cyclops by aol.

the class AnyMTest method flatMapValueFirstList.

@Test
public void flatMapValueFirstList() {
    Maybe l = AnyM.fromMaybe(Maybe.of(1)).concatMap(i -> ListX.of(10, i)).toMaybe();
    assertThat(l, equalTo(Maybe.of(10)));
}
Also used : IntStream(java.util.stream.IntStream) ListX(cyclops.reactive.collections.mutable.ListX) Arrays(java.util.Arrays) Tuple2(cyclops.data.tuple.Tuple2) OptionalDouble(java.util.OptionalDouble) CompletableFuture(java.util.concurrent.CompletableFuture) Witness(cyclops.monads.Witness) Optionals(cyclops.companion.Optionals) OptionalInt(java.util.OptionalInt) WitnessType(cyclops.monads.WitnessType) Eval(cyclops.control.Eval) Assert.assertThat(org.junit.Assert.assertThat) HashSet(java.util.HashSet) SetX(cyclops.reactive.collections.mutable.SetX) OptionalLong(java.util.OptionalLong) Tuple(cyclops.data.tuple.Tuple) AnyM(cyclops.monads.AnyM) Maybe(cyclops.control.Maybe) LongStream(java.util.stream.LongStream) AnyMSeq(com.oath.cyclops.anym.AnyMSeq) QueueX(cyclops.reactive.collections.mutable.QueueX) Set(java.util.Set) Test(org.junit.Test) DoubleStream(java.util.stream.DoubleStream) Matchers.instanceOf(org.hamcrest.Matchers.instanceOf) Flux(reactor.core.publisher.Flux) List(java.util.List) Stream(java.util.stream.Stream) Matchers.equalTo(org.hamcrest.Matchers.equalTo) Optional(java.util.Optional) Assert.assertEquals(org.junit.Assert.assertEquals) Maybe(cyclops.control.Maybe) Test(org.junit.Test)

Example 3 with Maybe

use of cyclops.control.Maybe in project cyclops by aol.

the class FlowableReactiveSeqImpl method single.

@Override
public Maybe<T> single() {
    Maybe.CompletableMaybe<T, T> maybe = Maybe.<T>maybe();
    flowable.subscribe(new Subscriber<T>() {

        Object value = UNSET;

        Subscription sub;

        @Override
        public void onSubscribe(Subscription s) {
            this.sub = s;
            s.request(Long.MAX_VALUE);
        }

        @Override
        public void onNext(T t) {
            if (value == UNSET)
                value = t;
            else {
                maybe.completeAsNone();
                sub.cancel();
            }
        }

        @Override
        public void onError(Throwable t) {
            maybe.completeExceptionally(t);
        }

        @Override
        public void onComplete() {
            if (value == UNSET)
                maybe.completeAsNone();
            else
                maybe.complete((T) value);
        }
    });
    return maybe;
}
Also used : Maybe(cyclops.control.Maybe) Subscription(org.reactivestreams.Subscription)

Example 4 with Maybe

use of cyclops.control.Maybe in project cyclops by aol.

the class AnyMTest method flatMapValueFirstFlux.

@Test
public void flatMapValueFirstFlux() {
    Maybe l = AnyM.fromMaybe(Maybe.of(1)).mergeMap(i -> Flux.just(10, i)).unwrap();
    assertThat(l, equalTo(Maybe.of(10)));
}
Also used : IntStream(java.util.stream.IntStream) ListX(cyclops.reactive.collections.mutable.ListX) Arrays(java.util.Arrays) Tuple2(cyclops.data.tuple.Tuple2) OptionalDouble(java.util.OptionalDouble) CompletableFuture(java.util.concurrent.CompletableFuture) Witness(cyclops.monads.Witness) Optionals(cyclops.companion.Optionals) OptionalInt(java.util.OptionalInt) WitnessType(cyclops.monads.WitnessType) Eval(cyclops.control.Eval) Assert.assertThat(org.junit.Assert.assertThat) HashSet(java.util.HashSet) SetX(cyclops.reactive.collections.mutable.SetX) OptionalLong(java.util.OptionalLong) Tuple(cyclops.data.tuple.Tuple) AnyM(cyclops.monads.AnyM) Maybe(cyclops.control.Maybe) LongStream(java.util.stream.LongStream) AnyMSeq(com.oath.cyclops.anym.AnyMSeq) QueueX(cyclops.reactive.collections.mutable.QueueX) Set(java.util.Set) Test(org.junit.Test) DoubleStream(java.util.stream.DoubleStream) Matchers.instanceOf(org.hamcrest.Matchers.instanceOf) Flux(reactor.core.publisher.Flux) List(java.util.List) Stream(java.util.stream.Stream) Matchers.equalTo(org.hamcrest.Matchers.equalTo) Optional(java.util.Optional) Assert.assertEquals(org.junit.Assert.assertEquals) Maybe(cyclops.control.Maybe) Test(org.junit.Test)

Example 5 with Maybe

use of cyclops.control.Maybe in project cyclops by aol.

the class AnyMTest method flatMapValueFirstSet.

@Test
public void flatMapValueFirstSet() {
    Maybe l = AnyM.fromMaybe(Maybe.of(1)).concatMap(i -> SetX.of(10, i)).toMaybe();
    assertThat(l.toOptional().get(), instanceOf(Integer.class));
}
Also used : IntStream(java.util.stream.IntStream) ListX(cyclops.reactive.collections.mutable.ListX) Arrays(java.util.Arrays) Tuple2(cyclops.data.tuple.Tuple2) OptionalDouble(java.util.OptionalDouble) CompletableFuture(java.util.concurrent.CompletableFuture) Witness(cyclops.monads.Witness) Optionals(cyclops.companion.Optionals) OptionalInt(java.util.OptionalInt) WitnessType(cyclops.monads.WitnessType) Eval(cyclops.control.Eval) Assert.assertThat(org.junit.Assert.assertThat) HashSet(java.util.HashSet) SetX(cyclops.reactive.collections.mutable.SetX) OptionalLong(java.util.OptionalLong) Tuple(cyclops.data.tuple.Tuple) AnyM(cyclops.monads.AnyM) Maybe(cyclops.control.Maybe) LongStream(java.util.stream.LongStream) AnyMSeq(com.oath.cyclops.anym.AnyMSeq) QueueX(cyclops.reactive.collections.mutable.QueueX) Set(java.util.Set) Test(org.junit.Test) DoubleStream(java.util.stream.DoubleStream) Matchers.instanceOf(org.hamcrest.Matchers.instanceOf) Flux(reactor.core.publisher.Flux) List(java.util.List) Stream(java.util.stream.Stream) Matchers.equalTo(org.hamcrest.Matchers.equalTo) Optional(java.util.Optional) Assert.assertEquals(org.junit.Assert.assertEquals) Maybe(cyclops.control.Maybe) Test(org.junit.Test)

Aggregations

Maybe (cyclops.control.Maybe)5 AnyMSeq (com.oath.cyclops.anym.AnyMSeq)4 Optionals (cyclops.companion.Optionals)4 Eval (cyclops.control.Eval)4 Tuple (cyclops.data.tuple.Tuple)4 Tuple2 (cyclops.data.tuple.Tuple2)4 AnyM (cyclops.monads.AnyM)4 Witness (cyclops.monads.Witness)4 WitnessType (cyclops.monads.WitnessType)4 ListX (cyclops.reactive.collections.mutable.ListX)4 QueueX (cyclops.reactive.collections.mutable.QueueX)4 SetX (cyclops.reactive.collections.mutable.SetX)4 Arrays (java.util.Arrays)4 HashSet (java.util.HashSet)4 List (java.util.List)4 Optional (java.util.Optional)4 OptionalDouble (java.util.OptionalDouble)4 OptionalInt (java.util.OptionalInt)4 OptionalLong (java.util.OptionalLong)4 Set (java.util.Set)4