Files
goutils/testing/testing.go

76 lines
2.0 KiB
Go

package testing
import "testing"
func AssertEqual[T comparable](t *testing.T, expected T, actual T) {
t.Helper()
if expected == actual {
t.Logf("✅ [%T](%+v) == [%T](%+v)", expected, expected, actual, actual)
return
}
t.Errorf("❌ [%T](%+v) != [%T](%+v)", expected, expected, actual, actual)
}
func AssertNotEqual[T comparable](t *testing.T, expected T, actual T) {
t.Helper()
if expected != actual {
t.Logf("✅ [%T](%+v) != [%T](%+v)", expected, expected, actual, actual)
return
}
t.Errorf("❌ [%T](%+v) == [%T](%+v)", expected, expected, actual, actual)
}
func AssertTrue(t *testing.T, expected bool) {
t.Helper()
if expected {
t.Logf("✅ [%T](%+v) != [%T](%+v)", expected, expected, true, true)
return
}
t.Errorf("❌ [%T](%+v) == [%T](%+v)", expected, expected, true, true)
}
func AssertFalse(t *testing.T, expected bool) {
t.Helper()
if !expected {
t.Logf("✅ [%T](%+v) != [%T](%+v)", expected, expected, false, false)
return
}
t.Errorf("❌ [%T](%+v) == [%T](%+v)", expected, expected, false, false)
}
func AssertError(t *testing.T, expected error) {
t.Helper()
if expected != nil {
t.Logf("✅ [%T](%+v) != [%T](%+v)", expected, expected, nil, nil)
return
}
t.Errorf("❌ [%T](%+v) == [%T](%+v)", expected, expected, nil, nil)
}
func AssertNotError(t *testing.T, expected error) {
t.Helper()
if expected == nil {
t.Logf("✅ [%T](%+v) != [%T](%+v)", expected, expected, nil, nil)
return
}
t.Errorf("❌ [%T](%+v) == [%T](%+v)", expected, expected, nil, nil)
}
func AssertNil[T any](t *testing.T, expected *T) {
t.Helper()
if expected == nil {
t.Logf("✅ [%T](%+v) == [%T](%+v)", expected, expected, nil, nil)
return
}
t.Errorf("❌ [%T](%+v) != [%T](%+v)", expected, expected, nil, nil)
}
func AssertNotNil[T any](t *testing.T, expected *T) {
t.Helper()
if expected != nil {
t.Logf("✅ [%T](%+v) == [%T](%+v)", expected, expected, nil, nil)
return
}
t.Errorf("❌ [%T](%+v) != [%T](%+v)", expected, expected, nil, nil)
}