package quick

Import Path
	testing/quick (on go.dev)

Dependency Relation
	imports 7 packages, and imported by 0 packages

Involved Source Files Package quick implements utility functions to help with black box testing. The testing/quick package is frozen and is not accepting new features.
Package-Level Type Names (total 5)
/* sort by: | */
A CheckEqualError is the result [CheckEqual] finding an error. CheckError CheckError CheckError.Count int CheckError.In []any Out1 []any Out2 []any (*CheckEqualError) Error() string *CheckEqualError : error
A CheckError is the result of Check finding an error. Count int In []any (*CheckError) Error() string *CheckError : error
A Config structure contains options for running a test. MaxCount sets the maximum number of iterations. If zero, MaxCountScale is used. MaxCountScale is a non-negative scale factor applied to the default maximum. A count of zero implies the default, which is usually 100 but can be set by the -quickchecks flag. Rand specifies a source of random numbers. If nil, a default pseudo-random source will be used. Values specifies a function to generate a slice of arbitrary reflect.Values that are congruent with the arguments to the function being tested. If nil, the top-level Value function is used to generate them. func Check(f any, config *Config) error func CheckEqual(f, g any, config *Config) error
A Generator can generate random values of its own type. Generate returns a random instance of the type on which it is a method using the size as a size hint.
A SetupError is the result of an error in the way that check is being used, independent of the functions being tested. ( SetupError) Error() string SetupError : error
Package-Level Functions (total 3)
Check looks for an input to f, any function that returns bool, such that f returns false. It calls f repeatedly, with arbitrary values for each argument. If f returns false on a given input, Check returns that input as a *[CheckError]. For example: func TestOddMultipleOfThree(t *testing.T) { f := func(x int) bool { y := OddMultipleOfThree(x) return y%2 == 1 && y%3 == 0 } if err := quick.Check(f, nil); err != nil { t.Error(err) } }
CheckEqual looks for an input on which f and g return different results. It calls f and g repeatedly with arbitrary values for each argument. If f and g return different answers, CheckEqual returns a *[CheckEqualError] describing the input and the outputs.
Value returns an arbitrary value of the given type. If the type implements the [Generator] interface, that will be used. Note: To create arbitrary values for structs, all the fields must be exported.