Documentation ¶
Overview ¶
Package cmp provides Comparisons for Assert and Check
Index ¶
- Variables
- type Comparison
- func Contains(collection interface{}, item interface{}) Comparison
- func DeepEqual(x, y interface{}, opts ...cmp.Option) Comparison
- func Equal(x, y interface{}) Comparison
- func Error(err error, message string) Comparison
- func ErrorContains(err error, substring string) Comparison
- func ErrorType(err error, expected interface{}) Comparison
- func Len(seq interface{}, expected int) Comparison
- func Nil(obj interface{}) Comparison
- func Panics(f func()) Comparison
- func Regexp(re RegexOrPattern, v string) Comparison
- type RegexOrPattern
- type Result
Constants ¶
This section is empty.
Variables ¶
var ResultSuccess = result{/* contains filtered or unexported fields */}
ResultSuccess is a constant which is returned by a ComparisonWithResult to indicate success.
Functions ¶
This section is empty.
Types ¶
type Comparison ¶
type Comparison func() Result
Comparison is a function which compares values and returns ResultSuccess if the actual value matches the expected value. If the values do not match the Result will contain a message about why it failed.
func Contains ¶
func Contains(collection interface{}, item interface{}) Comparison
Contains succeeds if item is in collection. Collection may be a string, map, slice, or array.
If collection is a string, item must also be a string, and is compared using strings.Contains(). If collection is a Map, contains will succeed if item is a key in the map. If collection is a slice or array, item is compared to each item in the sequence using reflect.DeepEqual().
func DeepEqual ¶
func DeepEqual(x, y interface{}, opts ...cmp.Option) Comparison
DeepEqual compares two values using google/go-cmp (http://bit.do/go-cmp) and succeeds if the values are equal.
The comparison can be customized using comparison Options. Package https://godoc.org/gotest.tools/assert/opt provides some additional commonly used Options.
func Equal ¶
func Equal(x, y interface{}) Comparison
Equal succeeds if x == y. See assert.Equal for full documentation.
func Error ¶
func Error(err error, message string) Comparison
Error succeeds if err is a non-nil error, and the error message equals the expected message.
func ErrorContains ¶
func ErrorContains(err error, substring string) Comparison
ErrorContains succeeds if err is a non-nil error, and the error message contains the expected substring.
func ErrorType ¶
func ErrorType(err error, expected interface{}) Comparison
ErrorType succeeds if err is not nil and is of the expected type.
Expected can be one of: a func(error) bool which returns true if the error is the expected type, an instance of (or a pointer to) a struct of the expected type, a pointer to an interface the error is expected to implement, a reflect.Type of the expected struct or interface.
func Len ¶
func Len(seq interface{}, expected int) Comparison
Len succeeds if the sequence has the expected length.
func Nil ¶
func Nil(obj interface{}) Comparison
Nil succeeds if obj is a nil interface, pointer, or function.
Use NilError() for comparing errors. Use Len(obj, 0) for comparing slices, maps, and channels.
func Regexp ¶
func Regexp(re RegexOrPattern, v string) Comparison
Regexp succeeds if value v matches regular expression re.
Example:
assert.Assert(t, cmp.Regexp("^[0-9a-f]{32}$", str)) r := regexp.MustCompile("^[0-9a-f]{32}$") assert.Assert(t, cmp.Regexp(r, str))
type RegexOrPattern ¶
type RegexOrPattern interface{}
RegexOrPattern may be either a *regexp.Regexp or a string that is a valid regexp pattern.
type Result ¶
type Result interface {
Success() bool
}
Result of a Comparison.
func ResultFailure ¶
ResultFailure returns a failed Result with a failure message.
func ResultFailureTemplate ¶
ResultFailureTemplate returns a Result with a template string and data which can be used to format a failure message. The template may access data from .Data, the comparison args with the callArg function, and the formatNode function may be used to format the call args.
func ResultFromError ¶
ResultFromError returns ResultSuccess if err is nil. Otherwise ResultFailure is returned with the error message as the failure message.