diff options
-rw-r--r-- | src/gobang.go | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/gobang.go b/src/gobang.go index 2efaca4..620dc1a 100644 --- a/src/gobang.go +++ b/src/gobang.go @@ -330,7 +330,32 @@ func TAssertEqual(given any, expected any) { } } -func TAssertEqualI(givenarr []any, expectedarr []any) { +func TAssertEqualI[T any](givenarr []T, expectedarr []T) { + givenlen := len(givenarr) + expectedlen := len(expectedarr) + + if givenlen < expectedlen { + terr() + fmt.Fprintf( + os.Stderr, + "expected has %d more elements:\n%#v\n", + expectedlen - givenlen, + expectedarr[givenlen:], + ) + os.Exit(100) + } + + if givenlen > expectedlen { + terr() + fmt.Fprintf( + os.Stderr, + "given has %d more elements:\n%#v\n", + givenlen - expectedlen, + givenarr[expectedlen:], + ) + os.Exit(100) + } + for i, _ := range givenarr { given := givenarr[i] expected := expectedarr[i] |