SmallCheck for Scala
SmallCheck for Scala is a Scala library for property-based testing. It is a port of the original Haskell library, SmallCheck.
Following the lead of QuickCheck (Claessen and Hughes 2000), … SmallCheck also [uses] type-based generators to obtain test-sets of finite values for which properties are checked, and report any counter-examples found. But instead of using a sample of randomly generated values they test properties for all values up to some limiting depth, progressively increasing this limit.
(Runciman et al. 2008).
The original property-based testing library for Haskell, QuickCheck (Claessen and Hughes 2000), has also spawned a port written in Scala: Rickard Nilsson’s ScalaCheck. SmallCheck for Scala has followed the design of ScalaCheck.
Koen Claessen and John Hughes. QuickCheck: a lightweight tool for random testing of Haskell programs. In Proceedings of the fifth ACM SIGPLAN international conference on Functional programming, ICFP ’00, pages 268–279. ACM, 2000. doi: 10.1145/351240.351266
Colin Runciman, Matthew Naylor, and Fredrik Lindblad. SmallCheck and Lazy SmallCheck: automatic exhaustive testing for small values. In Proceedings of the first ACM SIGPLAN symposium on Haskell, Haskell ’08, pages 37–48. ACM, 2008. doi: 10.1145/1411286.1411292