summaryrefslogtreecommitdiff
path: root/lib/containers/intervaltree_test.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2023-02-05 00:31:29 -0700
committerLuke Shumaker <lukeshu@lukeshu.com>2023-02-12 02:43:16 -0700
commit696a7d192e5eefa53230168a4b200ec0560c8a10 (patch)
tree039c3c549414c21b15d58c3d695ee87c3feb1402 /lib/containers/intervaltree_test.go
parentb608e4cf9c9e6e5bf5a333e8d78b2800ffcb0c91 (diff)
containers: Rethink the RBTree interface to be simpler
Diffstat (limited to 'lib/containers/intervaltree_test.go')
-rw-r--r--lib/containers/intervaltree_test.go28
1 files changed, 17 insertions, 11 deletions
diff --git a/lib/containers/intervaltree_test.go b/lib/containers/intervaltree_test.go
index 45743a2..30885bd 100644
--- a/lib/containers/intervaltree_test.go
+++ b/lib/containers/intervaltree_test.go
@@ -18,8 +18,8 @@ func (t *IntervalTree[K, V]) ASCIIArt() string {
func (v intervalValue[K, V]) String() string {
return fmt.Sprintf("%v) ([%v,%v]",
v.Val,
- v.SpanOfChildren.Min,
- v.SpanOfChildren.Max)
+ v.ChildSpan.Min,
+ v.ChildSpan.Max)
}
func (v NativeOrdered[T]) String() string {
@@ -60,15 +60,21 @@ func TestIntervalTree(t *testing.T) {
t.Log("\n" + tree.ASCIIArt())
// find intervals that touch [9,20]
- intervals := tree.SearchAll(func(k NativeOrdered[int]) int {
- if k.Val < 9 {
- return 1
- }
- if k.Val > 20 {
- return -1
- }
- return 0
- })
+ var intervals []SimpleInterval
+ tree.Subrange(
+ func(k NativeOrdered[int]) int {
+ if k.Val < 9 {
+ return 1
+ }
+ if k.Val > 20 {
+ return -1
+ }
+ return 0
+ },
+ func(v SimpleInterval) bool {
+ intervals = append(intervals, v)
+ return true
+ })
assert.Equal(t,
[]SimpleInterval{
{6, 10},