@@ -18,6 +18,8 @@ import (
1818 "math/rand"
1919 "reflect"
2020 "testing"
21+
22+ "github.com/stretchr/testify/require"
2123)
2224
2325// TestIntervalTreeInsert tests interval tree insertion.
@@ -53,9 +55,7 @@ func TestIntervalTreeInsert(t *testing.T) {
5355
5456 tr := ivt .(* intervalTree )
5557 visits := tr .visitLevel ()
56- if ! reflect .DeepEqual (expected , visits ) {
57- t .Fatalf ("level order expected %v, got %v" , expected , visits )
58- }
58+ require .Truef (t , reflect .DeepEqual (expected , visits ), "level order expected %v, got %v" , expected , visits )
5959}
6060
6161// TestIntervalTreeSelfBalanced ensures range tree is self-balanced after inserting ranges to the tree.
@@ -107,13 +107,9 @@ func TestIntervalTreeSelfBalanced(t *testing.T) {
107107
108108 tr := ivt .(* intervalTree )
109109 visits := tr .visitLevel ()
110- if ! reflect .DeepEqual (expected , visits ) {
111- t .Fatalf ("level order expected %v, got %v" , expected , visits )
112- }
110+ require .Truef (t , reflect .DeepEqual (expected , visits ), "level order expected %v, got %v" , expected , visits )
113111
114- if visits [len (visits )- 1 ].depth != 3 {
115- t .Fatalf ("expected self-balanced tree with last level 3, but last level got %d" , visits [len (visits )- 1 ].depth )
116- }
112+ 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 )
117113}
118114
119115// TestIntervalTreeDelete ensures delete operation maintains red-black tree properties.
@@ -214,15 +210,11 @@ func TestIntervalTreeDelete(t *testing.T) {
214210 {root : NewInt64Interval (953 , 954 ), color : red , left : newInt64EmptyInterval (), right : newInt64EmptyInterval (), depth : 4 },
215211 }
216212 visitsBeforeDelete := tr .visitLevel ()
217- if ! reflect .DeepEqual (expectedBeforeDelete , visitsBeforeDelete ) {
218- t .Fatalf ("level order after insertion expected %v, got %v" , expectedBeforeDelete , visitsBeforeDelete )
219- }
213+ require .Truef (t , reflect .DeepEqual (expectedBeforeDelete , visitsBeforeDelete ), "level order after insertion expected %v, got %v" , expectedBeforeDelete , visitsBeforeDelete )
220214
221215 // delete the node "514"
222216 range514 := NewInt64Interval (514 , 515 )
223- if deleted := tr .Delete (NewInt64Interval (514 , 515 )); ! deleted {
224- t .Fatalf ("range %v not deleted" , range514 )
225- }
217+ require .Truef (t , tr .Delete (NewInt64Interval (514 , 515 )), "range %v not deleted" , range514 )
226218
227219 expectedAfterDelete514 := []visitedInterval {
228220 {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) {
246238 {root : NewInt64Interval (953 , 954 ), color : red , left : newInt64EmptyInterval (), right : newInt64EmptyInterval (), depth : 4 },
247239 }
248240 visitsAfterDelete514 := tr .visitLevel ()
249- if ! reflect .DeepEqual (expectedAfterDelete514 , visitsAfterDelete514 ) {
250- t .Fatalf ("level order after deleting '514' expected %v, got %v" , expectedAfterDelete514 , visitsAfterDelete514 )
251- }
241+ require .Truef (t , reflect .DeepEqual (expectedAfterDelete514 , visitsAfterDelete514 ), "level order after deleting '514' expected %v, got %v" , expectedAfterDelete514 , visitsAfterDelete514 )
252242
253243 // delete the node "11"
254244 range11 := NewInt64Interval (11 , 12 )
255- if deleted := tr .Delete (NewInt64Interval (11 , 12 )); ! deleted {
256- t .Fatalf ("range %v not deleted" , range11 )
257- }
245+ require .Truef (t , tr .Delete (NewInt64Interval (11 , 12 )), "range %v not deleted" , range11 )
258246
259247 expectedAfterDelete11 := []visitedInterval {
260248 {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) {
277265 {root : NewInt64Interval (953 , 954 ), color : red , left : newInt64EmptyInterval (), right : newInt64EmptyInterval (), depth : 4 },
278266 }
279267 visitsAfterDelete11 := tr .visitLevel ()
280- if ! reflect .DeepEqual (expectedAfterDelete11 , visitsAfterDelete11 ) {
281- t .Fatalf ("level order after deleting '11' expected %v, got %v" , expectedAfterDelete11 , visitsAfterDelete11 )
282- }
268+ require .Truef (t , reflect .DeepEqual (expectedAfterDelete11 , visitsAfterDelete11 ), "level order after deleting '11' expected %v, got %v" , expectedAfterDelete11 , visitsAfterDelete11 )
283269}
284270
285271func TestIntervalTreeIntersects (t * testing.T ) {
@@ -323,9 +309,7 @@ func TestIntervalTreeStab(t *testing.T) {
323309 ivt .Insert (NewStringInterval ("0" , "3" ), 0 )
324310
325311 tr := ivt .(* intervalTree )
326- if tr .root .max .Compare (StringComparable ("8" )) != 0 {
327- t .Fatalf ("wrong root max got %v, expected 8" , tr .root .max )
328- }
312+ require .Equalf (t , 0 , tr .root .max .Compare (StringComparable ("8" )), "wrong root max got %v, expected 8" , tr .root .max )
329313 if x := len (ivt .Stab (NewStringPoint ("0" ))); x != 3 {
330314 t .Errorf ("got %d, expected 3" , x )
331315 }
@@ -381,12 +365,8 @@ func TestIntervalTreeRandom(t *testing.T) {
381365 for ab := range ivs {
382366 for xy := range ivs {
383367 v := xy .x + int64 (rand .Intn (int (xy .y - xy .x )))
384- if slen := len (ivt .Stab (NewInt64Point (v ))); slen == 0 {
385- t .Fatalf ("expected %v stab non-zero for [%+v)" , v , xy )
386- }
387- if ! ivt .Intersects (NewInt64Point (v )) {
388- t .Fatalf ("did not get %d as expected for [%+v)" , v , xy )
389- }
368+ require .NotEmptyf (t , ivt .Stab (NewInt64Point (v )), "expected %v stab non-zero for [%+v)" , v , xy )
369+ require .Truef (t , ivt .Intersects (NewInt64Point (v )), "did not get %d as expected for [%+v)" , v , xy )
390370 }
391371 if ! ivt .Delete (NewInt64Interval (ab .x , ab .y )) {
392372 t .Errorf ("did not delete %v as expected" , ab )
0 commit comments