From abb0e262926278259fa02f3b2d2b58036f65a22b Mon Sep 17 00:00:00 2001 From: Pat Garrity Date: Thu, 11 Sep 2025 21:46:47 -0500 Subject: [PATCH] (patch) Add the satisfy function. --- .../core/src/main/scala/gs/datagen/v0/Datagen.scala | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/modules/core/src/main/scala/gs/datagen/v0/Datagen.scala b/modules/core/src/main/scala/gs/datagen/v0/Datagen.scala index ac38ac7..ea3254b 100644 --- a/modules/core/src/main/scala/gs/datagen/v0/Datagen.scala +++ b/modules/core/src/main/scala/gs/datagen/v0/Datagen.scala @@ -52,6 +52,16 @@ object Datagen: */ def gen(): A = generate(()) + /** Satisfy the target generator (that requires input) using this generator + * to provide that input. + * + * @param target + * The target generator. + * @return + * The new input-satisfied generator. + */ + def satisfy[B](target: Datagen[B, A]): Gen[B] = target.toGen(gen()) + def flatMap[B](f: A => NoInput[B]): NoInput[B] = new NoInput.Defer[B](() => f(generate(())).generate(())) -- 2.43.0