Shrink

object Shrink extends ShrinkLowPriority with ShrinkVersionSpecific with JavaTimeShrink
Companion
class
trait JavaTimeShrink
trait ShrinkVersionSpecific
class Object
trait Matchable
class Any

Value members

Concrete methods

def apply[T](s: T => Stream[T]): Shrink[T]

Shrink instance factory

Shrink instance factory

def shrink[T](x: T)(s: Shrink[T]): Stream[T]

Shrink a value

Shrink a value

def shrinkWithOrig[T](x: T)(s: Shrink[T]): Stream[T]

Shrink a value, but also return the original value as the first element in the resulting stream

Shrink a value, but also return the original value as the first element in the resulting stream

def xmap[T, U](from: T => U, to: U => T)(st: Shrink[T]): Shrink[U]

Transform a Shrink[T] to a Shrink[U] where T and U are two isomorphic types whose relationship is described by the provided transformation functions. (exponential functor map)

Transform a Shrink[T] to a Shrink[U] where T and U are two isomorphic types whose relationship is described by the provided transformation functions. (exponential functor map)

Inherited methods

def withLazyList[T](s: T => LazyList[T]): Shrink[T]

Forward to Shrink instance factory

Forward to Shrink instance factory

Inherited from
ShrinkVersionSpecific

Implicits

Implicits

implicit def shrinkContainer[C[_], T](v: C[T] => Iterable[T], s: Shrink[T], b: Buildable[T, C[T]]): Shrink[C[T]]

Shrink instance of container

Shrink instance of container

implicit def shrinkContainer2[C[_, _], T, U](v: C[T, U] => Iterable[(T, U)], s: Shrink[(T, U)], b: Buildable[(T, U), C[T, U]]): Shrink[C[T, U]]

Shrink instance of container2

Shrink instance of container2

implicit val shrinkDuration: Shrink[Duration]
implicit def shrinkEither[T1, T2](`evidence$49`: Shrink[T1], `evidence$50`: Shrink[T2]): Shrink[Either[T1, T2]]
implicit val shrinkFiniteDuration: Shrink[FiniteDuration]
implicit def shrinkFractional[T](`evidence$2`: Fractional[T]): Shrink[T]

Shrink instances for numeric data types

Shrink instances for numeric data types

implicit def shrinkIntegral[T](`evidence$3`: Integral[T]): Shrink[T]
implicit def shrinkOption[T](`evidence$4`: Shrink[T]): Shrink[Option[T]]

Shrink instance of Option

Shrink instance of Option

implicit lazy val shrinkString: Shrink[String]

Shrink instance of String

Shrink instance of String

implicit def shrinkTuple2[T1, T2](`evidence$5`: Shrink[T1], `evidence$6`: Shrink[T2]): Shrink[(T1, T2)]

Shrink instance of 2-tuple

Shrink instance of 2-tuple

implicit def shrinkTuple3[T1, T2, T3](`evidence$7`: Shrink[T1], `evidence$8`: Shrink[T2], `evidence$9`: Shrink[T3]): Shrink[(T1, T2, T3)]

Shrink instance of 3-tuple

Shrink instance of 3-tuple

implicit def shrinkTuple4[T1, T2, T3, T4](`evidence$10`: Shrink[T1], `evidence$11`: Shrink[T2], `evidence$12`: Shrink[T3], `evidence$13`: Shrink[T4]): Shrink[(T1, T2, T3, T4)]

Shrink instance of 4-tuple

Shrink instance of 4-tuple

implicit def shrinkTuple5[T1, T2, T3, T4, T5](`evidence$14`: Shrink[T1], `evidence$15`: Shrink[T2], `evidence$16`: Shrink[T3], `evidence$17`: Shrink[T4], `evidence$18`: Shrink[T5]): Shrink[(T1, T2, T3, T4, T5)]

Shrink instance of 5-tuple

Shrink instance of 5-tuple

implicit def shrinkTuple6[T1, T2, T3, T4, T5, T6](`evidence$19`: Shrink[T1], `evidence$20`: Shrink[T2], `evidence$21`: Shrink[T3], `evidence$22`: Shrink[T4], `evidence$23`: Shrink[T5], `evidence$24`: Shrink[T6]): Shrink[(T1, T2, T3, T4, T5, T6)]

Shrink instance of 6-tuple

Shrink instance of 6-tuple

implicit def shrinkTuple7[T1, T2, T3, T4, T5, T6, T7](`evidence$25`: Shrink[T1], `evidence$26`: Shrink[T2], `evidence$27`: Shrink[T3], `evidence$28`: Shrink[T4], `evidence$29`: Shrink[T5], `evidence$30`: Shrink[T6], `evidence$31`: Shrink[T7]): Shrink[(T1, T2, T3, T4, T5, T6, T7)]

Shrink instance of 7-tuple

Shrink instance of 7-tuple

implicit def shrinkTuple8[T1, T2, T3, T4, T5, T6, T7, T8](`evidence$32`: Shrink[T1], `evidence$33`: Shrink[T2], `evidence$34`: Shrink[T3], `evidence$35`: Shrink[T4], `evidence$36`: Shrink[T5], `evidence$37`: Shrink[T6], `evidence$38`: Shrink[T7], `evidence$39`: Shrink[T8]): Shrink[(T1, T2, T3, T4, T5, T6, T7, T8)]

Shrink instance of 8-tuple

Shrink instance of 8-tuple

implicit def shrinkTuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9](`evidence$40`: Shrink[T1], `evidence$41`: Shrink[T2], `evidence$42`: Shrink[T3], `evidence$43`: Shrink[T4], `evidence$44`: Shrink[T5], `evidence$45`: Shrink[T6], `evidence$46`: Shrink[T7], `evidence$47`: Shrink[T8], `evidence$48`: Shrink[T9]): Shrink[(T1, T2, T3, T4, T5, T6, T7, T8, T9)]

Shrink instance of 9-tuple

Shrink instance of 9-tuple

Inherited implicits

implicit def shrinkAny[T]: Shrink[T]

Default shrink instance

Default shrink instance

Inherited from
ShrinkLowPriority
final implicit lazy val shrinkJavaDuration: Shrink[Duration]
Inherited from
JavaTimeShrink
final implicit lazy val shrinkPeriod: Shrink[Period]
Inherited from
JavaTimeShrink