t := &testing.T{}
ok := td.Cmp(t, 0, td.Zero())
fmt.Println(ok)
ok = td.Cmp(t, float64(0), td.Zero())
fmt.Println(ok)
ok = td.Cmp(t, 12, td.Zero()) // fails, as 12 is not 0 :) fmt.Println(ok)
ok = td.Cmp(t, (map[string]int)(nil), td.Zero())
fmt.Println(ok)
ok = td.Cmp(t, map[string]int{}, td.Zero()) // fails, as not nil fmt.Println(ok)
ok = td.Cmp(t, ([]int)(nil), td.Zero())
fmt.Println(ok)
ok = td.Cmp(t, []int{}, td.Zero()) // fails, as not nil fmt.Println(ok)
ok = td.Cmp(t, [3]int{}, td.Zero())
fmt.Println(ok)
ok = td.Cmp(t, [3]int{0, 1}, td.Zero()) // fails, DATA[1] is not 0 fmt.Println(ok)
ok = td.Cmp(t, bytes.Buffer{}, td.Zero())
fmt.Println(ok)
ok = td.Cmp(t, &bytes.Buffer{}, td.Zero()) // fails, as pointer not nil fmt.Println(ok)
ok = td.Cmp(t, &bytes.Buffer{}, td.Ptr(td.Zero())) // OK with the help of Ptr() fmt.Println(ok)
// Output:// true// true// false// true// false// true// false// true// false// true// false// true
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.
t := &testing.T{}
ok := td.CmpZero(t, 0)
fmt.Println(ok)
ok = td.CmpZero(t, float64(0))
fmt.Println(ok)
ok = td.CmpZero(t, 12) // fails, as 12 is not 0 :) fmt.Println(ok)
ok = td.CmpZero(t, (map[string]int)(nil))
fmt.Println(ok)
ok = td.CmpZero(t, map[string]int{}) // fails, as not nil fmt.Println(ok)
ok = td.CmpZero(t, ([]int)(nil))
fmt.Println(ok)
ok = td.CmpZero(t, []int{}) // fails, as not nil fmt.Println(ok)
ok = td.CmpZero(t, [3]int{})
fmt.Println(ok)
ok = td.CmpZero(t, [3]int{0, 1}) // fails, DATA[1] is not 0 fmt.Println(ok)
ok = td.CmpZero(t, bytes.Buffer{})
fmt.Println(ok)
ok = td.CmpZero(t, &bytes.Buffer{}) // fails, as pointer not nil fmt.Println(ok)
ok = td.Cmp(t, &bytes.Buffer{}, td.Ptr(td.Zero())) // OK with the help of Ptr() fmt.Println(ok)
// Output:// true// true// false// true// false// true// false// true// false// true// false// true
T.Zero shortcut
func (t *T) Zero(got any, args ...any) bool
Zero is a shortcut for:
t.Cmp(got, td.Zero(), args...)
See above for details.
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.
t := td.NewT(&testing.T{})
ok := t.Zero(0)
fmt.Println(ok)
ok = t.Zero(float64(0))
fmt.Println(ok)
ok = t.Zero(12) // fails, as 12 is not 0 :) fmt.Println(ok)
ok = t.Zero((map[string]int)(nil))
fmt.Println(ok)
ok = t.Zero(map[string]int{}) // fails, as not nil fmt.Println(ok)
ok = t.Zero(([]int)(nil))
fmt.Println(ok)
ok = t.Zero([]int{}) // fails, as not nil fmt.Println(ok)
ok = t.Zero([3]int{})
fmt.Println(ok)
ok = t.Zero([3]int{0, 1}) // fails, DATA[1] is not 0 fmt.Println(ok)
ok = t.Zero(bytes.Buffer{})
fmt.Println(ok)
ok = t.Zero(&bytes.Buffer{}) // fails, as pointer not nil fmt.Println(ok)
ok = t.Cmp(&bytes.Buffer{}, td.Ptr(td.Zero())) // OK with the help of Ptr() fmt.Println(ok)
// Output:// true// true// false// true// false// true// false// true// false// true// false// true