PrismLaws

object PrismLaws

Functions

Link copied to clipboard
suspend fun <A, B> Prism<A, B>.composeModify(    aGen: Arb<A>,     funcGen: Arb<(B) -> B>,     eq: (A, A) -> Boolean): PropertyContext
Link copied to clipboard
suspend fun <A, B> Prism<A, B>.consistentSetModify(    aGen: Arb<A>,     bGen: Arb<B>,     eq: (A, A) -> Boolean): PropertyContext
Link copied to clipboard
fun <A, B> laws(    prism: Prism<A, B>,     aGen: Arb<A>,     bGen: Arb<B>,     funcGen: Arb<(B) -> B>,     eqa: (A, A) -> Boolean = { a, b -> a == b },     eqb: (B?, B?) -> Boolean = { a, b -> a == b }): List<Law>
Link copied to clipboard
suspend fun <A, B> Prism<A, B>.modifyIdentity(aGen: Arb<A>, eq: (A, A) -> Boolean): PropertyContext
Link copied to clipboard
suspend fun <A, B> Prism<A, B>.partialRoundTripOneWay(aGen: Arb<A>, eq: (A, A) -> Boolean): PropertyContext
Link copied to clipboard
suspend fun <A, B> Prism<A, B>.roundTripOtherWay(bGen: Arb<B>, eq: (B?, B?) -> Boolean): PropertyContext