123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- // Package checker provides helpers for gotest.tools/assert.
- // Please remove this package whenever possible.
- package checker // import "github.com/docker/docker/integration-cli/checker"
- import (
- "fmt"
- "gotest.tools/v3/assert"
- "gotest.tools/v3/assert/cmp"
- )
- // Compare defines the interface to compare values
- type Compare func(x interface{}) assert.BoolOrComparison
- // False checks if the value is false
- func False() Compare {
- return func(x interface{}) assert.BoolOrComparison {
- return !x.(bool)
- }
- }
- // True checks if the value is true
- func True() Compare {
- return func(x interface{}) assert.BoolOrComparison {
- return x
- }
- }
- // Equals checks if the value is equal to the given value
- func Equals(y interface{}) Compare {
- return func(x interface{}) assert.BoolOrComparison {
- return cmp.Equal(x, y)
- }
- }
- // Contains checks if the value contains the given value
- func Contains(y interface{}) Compare {
- return func(x interface{}) assert.BoolOrComparison {
- return cmp.Contains(x, y)
- }
- }
- // Not checks if two values are not
- func Not(c Compare) Compare {
- return func(x interface{}) assert.BoolOrComparison {
- r := c(x)
- switch r := r.(type) {
- case bool:
- return !r
- case cmp.Comparison:
- return !r().Success()
- default:
- panic(fmt.Sprintf("unexpected type %T", r))
- }
- }
- }
- // DeepEquals checks if two values are equal
- func DeepEquals(y interface{}) Compare {
- return func(x interface{}) assert.BoolOrComparison {
- return cmp.DeepEqual(x, y)
- }
- }
- // HasLen checks if the value has the expected number of elements
- func HasLen(y int) Compare {
- return func(x interface{}) assert.BoolOrComparison {
- return cmp.Len(x, y)
- }
- }
- // IsNil checks if the value is nil
- func IsNil() Compare {
- return func(x interface{}) assert.BoolOrComparison {
- return cmp.Nil(x)
- }
- }
- // GreaterThan checks if the value is greater than the given value
- func GreaterThan(y int) Compare {
- return func(x interface{}) assert.BoolOrComparison {
- return x.(int) > y
- }
- }
|