Nyaya is a Scala/Scala.JS library to:
scala> import nyaya.gen._ import nyaya.gen._ scala> val g = Gen.int mapTo Gen.boolean.option g: nyaya.gen.Gen[Map[Int,Option[Boolean]]] = Gen(<function1>) scala> g.samples().take(1).foreach(println) Map(609117252 -> None, -339 -> Some(true), 1684851879 -> Some(false), 78379 -> None)
// Property expression, evaluation, assertion. libraryDependencies += "com.github.japgolly.nyaya" %%% "nyaya-prop" % "0.11.0" // Random data generation. libraryDependencies += "com.github.japgolly.nyaya" %%% "nyaya-gen" % "0.11.0" // Property testing with random data. // Property proving. libraryDependencies += "com.github.japgolly.nyaya" %%% "nyaya-test" % "0.11.0" % Test
If you like what I do —my OSS libraries, my contributions to other OSS libs, my programming blog— and you'd like to support me, more content, more lib maintenance, please become a patron! I do all my OSS work unpaid so showing your support will make a big difference.
Copyright (C) 2014-2020 David Barri This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.