Class OptionalLaws<S,A>

java.lang.Object
io.atlassian.fugue.optic.law.OptionalLaws<S,A>

public final class OptionalLaws<S,A> extends Object
  • Field Details

  • Constructor Details

    • OptionalLaws

      public OptionalLaws(POptional<S,S,A,A> optional)
  • Method Details

    • getOptionSet

      public IsEq<S> getOptionSet(S s)
      set what you get
    • setGetOption

      public IsEq<Option<A>> setGetOption(S s, A a)
      get what you set
    • setIdempotent

      public IsEq<S> setIdempotent(S s, A a)
      set idempotent
    • modifyIdentity

      public IsEq<S> modifyIdentity(S s)
      modify id = id
    • modifySupplierFPoint

      public IsEq<S> modifySupplierFPoint(S s)
      modifyF Applicative.point(_) = Applicative.point(_)
    • modifyEitherFPoint

      public IsEq<Either<String,S>> modifyEitherFPoint(S s)
      modifyF Applicative.point(_) = Applicative.point(_)
    • modifyOptionFPoint

      public IsEq<Option<S>> modifyOptionFPoint(S s)
      modifyF Applicative.point(_) = Applicative.point(_)
    • modifyPairFPoint

      public IsEq<Pair<S,S>> modifyPairFPoint(S s)
      modifyF Applicative.point(_) = Applicative.point(_)
    • modifyFunctionFPoint

      public IsEq<S> modifyFunctionFPoint(S s)
      modifyF Applicative.point(_) = Applicative.point(_)
    • modifyIterableFPoint

      public IsEq<List<S>> modifyIterableFPoint(S s)
      modifyF Applicative.point(_) = Applicative.point(_)
    • setOption

      public IsEq<Option<S>> setOption(S s, A a)
      setOption only succeeds when the Optional is matching
    • modifyOptionIdentity

      public IsEq<Option<S>> modifyOptionIdentity(S s)
      modifyOption with id is isomorphomic to isMatching