diff --git a/trees/avltree/avltree_test.go b/trees/avltree/avltree_test.go index 7af0091..2e72db3 100644 --- a/trees/avltree/avltree_test.go +++ b/trees/avltree/avltree_test.go @@ -477,25 +477,17 @@ func TestAVLTreeIteratorBegin(t *testing.T) { tree.Put(2, "b") it := tree.Iterator() - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) - } - it.Begin() - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) - } - + i := 0 for it.Next() { + i++ } - - it.Begin() - - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) + if i != 3 { + t.Errorf("Got %d expected %d\n", i, tree.Size()) } + it.Begin() it.Next() if key, value := it.Key(), it.Value(); key != 1 || value != "a" { t.Errorf("Got %v,%v expected %v,%v", key, value, 1, "a") @@ -504,25 +496,22 @@ func TestAVLTreeIteratorBegin(t *testing.T) { func TestAVLTreeIteratorEnd(t *testing.T) { tree := NewWithIntComparator() - it := tree.Iterator() - - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) - } - - it.End() - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) - } - tree.Put(3, "c") tree.Put(1, "a") tree.Put(2, "b") + it := tree.Iterator() + it.End() - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) + + i := 0 + for it.Prev() { + i++ + } + if i != 3 { + t.Errorf("Got %d expected %d\n", i, tree.Size()) } + it.End() it.Prev() if key, value := it.Key(), it.Value(); key != 3 || value != "c" { t.Errorf("Got %v,%v expected %v,%v", key, value, 3, "c") diff --git a/trees/btree/btree_test.go b/trees/btree/btree_test.go index 4705bc1..67890e6 100644 --- a/trees/btree/btree_test.go +++ b/trees/btree/btree_test.go @@ -929,25 +929,17 @@ func TestBTreeIteratorBegin(t *testing.T) { tree.Put(2, "b") it := tree.Iterator() - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) - } - it.Begin() - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) - } - + i := 0 for it.Next() { + i++ } - - it.Begin() - - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) + if i != 3 { + t.Errorf("Got %d expected %d\n", i, tree.Size()) } + it.Begin() it.Next() if key, value := it.Key(), it.Value(); key != 1 || value != "a" { t.Errorf("Got %v,%v expected %v,%v", key, value, 1, "a") @@ -956,25 +948,22 @@ func TestBTreeIteratorBegin(t *testing.T) { func TestBTreeIteratorEnd(t *testing.T) { tree := NewWithIntComparator(3) - it := tree.Iterator() - - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) - } - - it.End() - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) - } - tree.Put(3, "c") tree.Put(1, "a") tree.Put(2, "b") + it := tree.Iterator() + it.End() - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) + + i := 0 + for it.Prev() { + i++ + } + if i != 3 { + t.Errorf("Got %d expected %d\n", i, tree.Size()) } + it.End() it.Prev() if key, value := it.Key(), it.Value(); key != 3 || value != "c" { t.Errorf("Got %v,%v expected %v,%v", key, value, 3, "c") diff --git a/trees/redblacktree/redblacktree_test.go b/trees/redblacktree/redblacktree_test.go index 714defc..f2e10b7 100644 --- a/trees/redblacktree/redblacktree_test.go +++ b/trees/redblacktree/redblacktree_test.go @@ -477,25 +477,17 @@ func TestRedBlackTreeIteratorBegin(t *testing.T) { tree.Put(2, "b") it := tree.Iterator() - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) - } - it.Begin() - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) - } - + i := 0 for it.Next() { + i++ } - - it.Begin() - - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) + if i != 3 { + t.Errorf("Got %d expected %d\n", i, tree.Size()) } + it.Begin() it.Next() if key, value := it.Key(), it.Value(); key != 1 || value != "a" { t.Errorf("Got %v,%v expected %v,%v", key, value, 1, "a") @@ -504,25 +496,22 @@ func TestRedBlackTreeIteratorBegin(t *testing.T) { func TestRedBlackTreeIteratorEnd(t *testing.T) { tree := NewWithIntComparator() - it := tree.Iterator() - - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) - } - - it.End() - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) - } - tree.Put(3, "c") tree.Put(1, "a") tree.Put(2, "b") + it := tree.Iterator() + it.End() - if it.node != nil { - t.Errorf("Got %v expected %v", it.node, nil) + + i := 0 + for it.Prev() { + i++ + } + if i != 3 { + t.Errorf("Got %d expected %d\n", i, tree.Size()) } + it.End() it.Prev() if key, value := it.Key(), it.Value(); key != 3 || value != "c" { t.Errorf("Got %v,%v expected %v,%v", key, value, 3, "c")