fix: use testify instead of t.Fatal or t.Error in pkg package (part 1)

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
This commit is contained in:
Matthieu MOREL
2024-11-30 14:40:12 +01:00
parent 39d9cd707a
commit 0a71106a68
15 changed files with 103 additions and 207 deletions

View File

@ -18,6 +18,8 @@ import (
"math/rand"
"reflect"
"testing"
"github.com/stretchr/testify/require"
)
// TestIntervalTreeInsert tests interval tree insertion.
@ -53,9 +55,7 @@ func TestIntervalTreeInsert(t *testing.T) {
tr := ivt.(*intervalTree)
visits := tr.visitLevel()
if !reflect.DeepEqual(expected, visits) {
t.Fatalf("level order expected %v, got %v", expected, visits)
}
require.Truef(t, reflect.DeepEqual(expected, visits), "level order expected %v, got %v", expected, visits)
}
// TestIntervalTreeSelfBalanced ensures range tree is self-balanced after inserting ranges to the tree.
@ -107,13 +107,9 @@ func TestIntervalTreeSelfBalanced(t *testing.T) {
tr := ivt.(*intervalTree)
visits := tr.visitLevel()
if !reflect.DeepEqual(expected, visits) {
t.Fatalf("level order expected %v, got %v", expected, visits)
}
require.Truef(t, reflect.DeepEqual(expected, visits), "level order expected %v, got %v", expected, visits)
if visits[len(visits)-1].depth != 3 {
t.Fatalf("expected self-balanced tree with last level 3, but last level got %d", visits[len(visits)-1].depth)
}
require.Equalf(t, 3, visits[len(visits)-1].depth, "expected self-balanced tree with last level 3, but last level got %d", visits[len(visits)-1].depth)
}
// TestIntervalTreeDelete ensures delete operation maintains red-black tree properties.
@ -214,15 +210,11 @@ func TestIntervalTreeDelete(t *testing.T) {
{root: NewInt64Interval(953, 954), color: red, left: newInt64EmptyInterval(), right: newInt64EmptyInterval(), depth: 4},
}
visitsBeforeDelete := tr.visitLevel()
if !reflect.DeepEqual(expectedBeforeDelete, visitsBeforeDelete) {
t.Fatalf("level order after insertion expected %v, got %v", expectedBeforeDelete, visitsBeforeDelete)
}
require.Truef(t, reflect.DeepEqual(expectedBeforeDelete, visitsBeforeDelete), "level order after insertion expected %v, got %v", expectedBeforeDelete, visitsBeforeDelete)
// delete the node "514"
range514 := NewInt64Interval(514, 515)
if deleted := tr.Delete(NewInt64Interval(514, 515)); !deleted {
t.Fatalf("range %v not deleted", range514)
}
require.Truef(t, tr.Delete(NewInt64Interval(514, 515)), "range %v not deleted", range514)
expectedAfterDelete514 := []visitedInterval{
{root: NewInt64Interval(510, 511), color: black, left: NewInt64Interval(82, 83), right: NewInt64Interval(830, 831), depth: 0},
@ -246,15 +238,11 @@ func TestIntervalTreeDelete(t *testing.T) {
{root: NewInt64Interval(953, 954), color: red, left: newInt64EmptyInterval(), right: newInt64EmptyInterval(), depth: 4},
}
visitsAfterDelete514 := tr.visitLevel()
if !reflect.DeepEqual(expectedAfterDelete514, visitsAfterDelete514) {
t.Fatalf("level order after deleting '514' expected %v, got %v", expectedAfterDelete514, visitsAfterDelete514)
}
require.Truef(t, reflect.DeepEqual(expectedAfterDelete514, visitsAfterDelete514), "level order after deleting '514' expected %v, got %v", expectedAfterDelete514, visitsAfterDelete514)
// delete the node "11"
range11 := NewInt64Interval(11, 12)
if deleted := tr.Delete(NewInt64Interval(11, 12)); !deleted {
t.Fatalf("range %v not deleted", range11)
}
require.Truef(t, tr.Delete(NewInt64Interval(11, 12)), "range %v not deleted", range11)
expectedAfterDelete11 := []visitedInterval{
{root: NewInt64Interval(510, 511), color: black, left: NewInt64Interval(383, 384), right: NewInt64Interval(830, 831), depth: 0},
@ -277,9 +265,7 @@ func TestIntervalTreeDelete(t *testing.T) {
{root: NewInt64Interval(953, 954), color: red, left: newInt64EmptyInterval(), right: newInt64EmptyInterval(), depth: 4},
}
visitsAfterDelete11 := tr.visitLevel()
if !reflect.DeepEqual(expectedAfterDelete11, visitsAfterDelete11) {
t.Fatalf("level order after deleting '11' expected %v, got %v", expectedAfterDelete11, visitsAfterDelete11)
}
require.Truef(t, reflect.DeepEqual(expectedAfterDelete11, visitsAfterDelete11), "level order after deleting '11' expected %v, got %v", expectedAfterDelete11, visitsAfterDelete11)
}
func TestIntervalTreeIntersects(t *testing.T) {
@ -323,9 +309,7 @@ func TestIntervalTreeStab(t *testing.T) {
ivt.Insert(NewStringInterval("0", "3"), 0)
tr := ivt.(*intervalTree)
if tr.root.max.Compare(StringComparable("8")) != 0 {
t.Fatalf("wrong root max got %v, expected 8", tr.root.max)
}
require.Equalf(t, 0, tr.root.max.Compare(StringComparable("8")), "wrong root max got %v, expected 8", tr.root.max)
if x := len(ivt.Stab(NewStringPoint("0"))); x != 3 {
t.Errorf("got %d, expected 3", x)
}
@ -381,12 +365,8 @@ func TestIntervalTreeRandom(t *testing.T) {
for ab := range ivs {
for xy := range ivs {
v := xy.x + int64(rand.Intn(int(xy.y-xy.x)))
if slen := len(ivt.Stab(NewInt64Point(v))); slen == 0 {
t.Fatalf("expected %v stab non-zero for [%+v)", v, xy)
}
if !ivt.Intersects(NewInt64Point(v)) {
t.Fatalf("did not get %d as expected for [%+v)", v, xy)
}
require.NotEmptyf(t, ivt.Stab(NewInt64Point(v)), "expected %v stab non-zero for [%+v)", v, xy)
require.Truef(t, ivt.Intersects(NewInt64Point(v)), "did not get %d as expected for [%+v)", v, xy)
}
if !ivt.Delete(NewInt64Interval(ab.x, ab.y)) {
t.Errorf("did not delete %v as expected", ab)