kotest-assertions-arrow / io.kotest.assertions.arrow.validation / io.kotest.properties.Gen / validated

validated

fun <A, B> Gen.Companion.validated(GA: Gen<A>, GB: Gen<B>, SA: Semigroup<A>): Gen<Validated<A, B>>

Gen extension instance for Validated.

Generates random Valid and Invalid values based on the constants generation provided by the GA and GB generators.

import arrow.instances.semigroup
import io.kotest.assertions.arrow.validation.validation
import io.kotest.properties.forAll
import io.kotest.properties.Gen

forAll(Gen.validated(Gen.constant(1), Gen.constant(0), Int.semigroup())) {
  it.fold({ l -> l == 1 }, { r -> r == 0 })
}