Description
Nyaya is a Scala/Scala.JS library to:
* Test properties using random data.
* Prove properties with (reasonably-sized) finite domains.
* Assert properties in real data.
* Generate random data.
* Ensure uniqueness in random data.
Nyaya alternatives and similar packages
Based on the "Testing" category.
Alternatively, view Nyaya alternatives based on common mentions on social networks and blogs.
-
dotenv-linter
⚡️Lightning-fast linter for .env files. Written in Rust 🦀 -
ScalaMeter
Microbenchmarking and performance regression testing framework for the JVM platform. -
Scalive
Connect a Scala REPL to running JVM processes without any prior setup -
Testcontainers-scala
The project repository has moved to https://github.com/testcontainers/testcontainers-scala
Static code analysis for 29 languages.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Nyaya or a related project?
Popular Comparisons
README
Nyaya
Nyaya is a Scala/Scala.JS library to:
- Test properties using random data.
- Prove properties with (reasonably-sized) finite domains.
- Assert properties in real data.
- Generate random data.
- Ensure uniqueness in random data.
It is:
- Fast. Probably the fastest Scala random data gen / prop tester. (Benchmarks coming soon…)
- Has a nice, fluent API for generating random data. [(examples)](doc/FEATURES.md#generating-random-data) ``` 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()
scala> g.samples().take(1).foreach(println) Map(609117252 -> None, -339 -> Some(true), 1684851879 -> Some(false), 78379 -> None)
<br>
#### SBT setup
```scala
// Property expression, evaluation, assertion.
libraryDependencies += "com.github.japgolly.nyaya" %%% "nyaya-prop" % "0.9.2"
// Random data generation.
libraryDependencies += "com.github.japgolly.nyaya" %%% "nyaya-gen" % "0.9.2"
// Property testing with random data.
// Property proving.
libraryDependencies += "com.github.japgolly.nyaya" %%% "nyaya-test" % "0.9.2" % Test
Doc
- [Features in more detail](doc/FEATURES.md).
- [Changelogs](doc/changelog/).
Requires:
- Scala 2.12+
- Scala.JS 0.6.32+ (optional)
What does Nyaya mean?
See:
Support
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.
Licence
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.
*Note that all licence references and agreements mentioned in the Nyaya README section above
are relevant to that project's source code only.