Supported types

“Out of the box” (core + generators), junit-quickcheck recognizes property parameters of the following types:

  • all Java primitives and primitive wrappers
  • java.math.Big(Decimal|Integer)
  • java.util.Date
  • any enum
  • String
  • “functional interfaces” (interfaces with a single method that does not override a method from java.lang.Object)
  • java.util.ArrayList and java.util.LinkedList of supported types
  • java.util.HashSet and java.util.LinkedHashSet of supported types
  • java.util.HashMap and java.util.LinkedHashMap of supported types
  • arrays of supported types
  • others…

When many generators can satisfy a given property parameter based on its type (for example, java.io.Serializable), on a given generation junit-quickcheck will choose one of the multiple generators at random with (roughly) equal probability.