Between

func Between(from, to interface{}, bounds ...BoundsKind) TestDeep

Between operator checks that data is between from and to. from and to can be any numeric, string, time.Time (or assignable) value or implement at least one of the two following methods:

func (a T) Less(b T) bool   // returns true if a < b
func (a T) Compare(b T) int // returns -1 if a < b, 1 if a > b, 0 if a == b

from and to must be the same type as the compared value, except if BeLax config flag is true. time.Duration type is accepted as to when from is time.Time or convertible. bounds allows to specify whether bounds are included or not:

If bounds is missing, it defaults to BoundsInIn.

tc.Cmp(t, 17, td.Between(17, 20))               // succeeds, BoundsInIn by default
tc.Cmp(t, 17, td.Between(10, 17, BoundsInOut))  // fails
tc.Cmp(t, 17, td.Between(10, 17, BoundsOutIn))  // succeeds
tc.Cmp(t, 17, td.Between(17, 20, BoundsOutOut)) // fails
tc.Cmp(t,                                       // succeeds
  netip.MustParse("127.0.0.1"),
  td.Between(netip.MustParse("127.0.0.0"), netip.MustParse("127.255.255.255")))

TypeBehind method returns the reflect.Type of from (same as the to one.)

See also Between godoc.

Examples

Int example
String example
Time example

CmpBetween shortcut

func CmpBetween(t TestingT, got, from , to interface{}, bounds BoundsKind, args ...interface{}) bool

CmpBetween is a shortcut for:

td.Cmp(t, got, td.Between(from, to, bounds), args...)

See above for details.

Between() optional parameter bounds is here mandatory. td.BoundsInIn value should be passed to mimic its absence in original Between() call.

Returns true if the test is OK, false if it fails.

args… are optional and allow to name the test. This name is used in case of failure to qualify the test. If len(args) > 1 and the first item of args is a string and contains a ‘%’ rune then fmt.Fprintf is used to compose the name, else args are passed to fmt.Fprint. Do not forget it is the name of the test, not the reason of a potential failure.

See also CmpBetween godoc.

Examples

Int example
String example
Time example

T.Between shortcut

func (t *T) Between(got, from , to interface{}, bounds BoundsKind, args ...interface{}) bool

Between is a shortcut for:

t.Cmp(got, td.Between(from, to, bounds), args...)

See above for details.

Between() optional parameter bounds is here mandatory. td.BoundsInIn value should be passed to mimic its absence in original Between() call.

Returns true if the test is OK, false if it fails.

args… are optional and allow to name the test. This name is used in case of failure to qualify the test. If len(args) > 1 and the first item of args is a string and contains a ‘%’ rune then fmt.Fprintf is used to compose the name, else args are passed to fmt.Fprint. Do not forget it is the name of the test, not the reason of a potential failure.

See also T.Between godoc.

Examples

Int example
String example
Time example