IsoLaws

object IsoLaws

Functions

Link copied to clipboard
suspend fun <A, B> Iso<A, B>.composeModify(    aGen: Arb<A>,     funcGen: Arb<(B) -> B>,     eq: (A, A) -> Boolean): PropertyContext
Link copied to clipboard
suspend fun <A, B> Iso<A, B>.consistentSetModify(    aGen: Arb<A>,     bGen: Arb<B>,     eq: (A, A) -> Boolean): PropertyContext
Link copied to clipboard
fun <A, B> laws(    iso: Iso<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> Iso<A, B>.modifyIdentity(aGen: Arb<A>, eq: (A, A) -> Boolean): PropertyContext
Link copied to clipboard
suspend fun <A, B> Iso<A, B>.roundTripOneWay(aGen: Arb<A>, eq: (A, A) -> Boolean): PropertyContext
Link copied to clipboard
suspend fun <A, B> Iso<A, B>.roundTripOtherWay(bGen: Arb<B>, eq: (B, B) -> Boolean): PropertyContext