aboutsummaryrefslogtreecommitdiff
path: root/internal/assert
diff options
context:
space:
mode:
authorStefan Majewsky <majewsky@gmx.net>2026-04-15 18:54:36 +0200
committerStefan Majewsky <majewsky@gmx.net>2026-04-15 18:54:36 +0200
commita818aab2a4b48e399d5186c235149ef21011a4af (patch)
treedb0b8c60ab5a2767a6489fb1ae50047712b63cfc /internal/assert
parent1bb7ef5779aa3c27417eedf84aac6a8ea896871a (diff)
downloadgo-oblast-a818aab2a4b48e399d5186c235149ef21011a4af.tar.gz
before scanning, spawn member structs within pointers as necessary
Diffstat (limited to 'internal/assert')
-rw-r--r--internal/assert/assert.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/internal/assert/assert.go b/internal/assert/assert.go
index 84b6ecf..99af59c 100644
--- a/internal/assert/assert.go
+++ b/internal/assert/assert.go
@@ -36,3 +36,16 @@ func SliceEqual[V comparable](t testing.TB, actual []V, expected ...V) {
}
}
}
+
+// SliceDeepEqual is a test assertion.
+func SliceDeepEqual[V any](t testing.TB, actual []V, expected ...V) {
+ t.Helper()
+ if len(actual) != len(expected) {
+ t.Errorf("length mismatch: expected %#v, but got %#v", expected, actual)
+ }
+ for idx := range actual {
+ if !reflect.DeepEqual(actual[idx], expected[idx]) {
+ t.Errorf("element %d: expected %#v, but got %#v", idx, expected[idx], actual[idx])
+ }
+ }
+}