go-hep.org/x/hep@v0.38.1/groot/rtree/bkreader_test.go (about) 1 // Copyright ©2020 The go-hep Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package rtree 6 7 import "testing" 8 9 func TestBkReaderFindBaskets(t *testing.T) { 10 for _, tc := range []struct { 11 spans []rspan 12 span [2]int64 13 want [2]int 14 }{ 15 { 16 spans: []rspan{{beg: 0, end: 1}}, 17 span: [2]int64{0, 1}, 18 want: [2]int{0, 1}, 19 }, 20 { 21 spans: []rspan{{beg: 0, end: 2}}, 22 span: [2]int64{0, 1}, 23 want: [2]int{0, 1}, 24 }, 25 { 26 spans: []rspan{{beg: 0, end: 2}, {beg: 2, end: 5}}, 27 span: [2]int64{0, 5}, 28 want: [2]int{0, 2}, 29 }, 30 { 31 spans: []rspan{{beg: 0, end: 2}, {beg: 2, end: 5}}, 32 span: [2]int64{0, 2}, 33 want: [2]int{0, 1}, 34 }, 35 { 36 spans: []rspan{{beg: 0, end: 2}, {beg: 2, end: 5}}, 37 span: [2]int64{2, 3}, 38 want: [2]int{1, 2}, 39 }, 40 { 41 spans: []rspan{{beg: 0, end: 2}, {beg: 2, end: 5}, {beg: 5, end: 10}}, 42 span: [2]int64{2, 3}, 43 want: [2]int{1, 2}, 44 }, 45 { 46 spans: []rspan{{beg: 0, end: 2}, {beg: 2, end: 5}, {beg: 5, end: 10}}, 47 span: [2]int64{2, 5}, 48 want: [2]int{1, 2}, 49 }, 50 { 51 spans: []rspan{{beg: 0, end: 2}, {beg: 2, end: 5}, {beg: 5, end: 10}}, 52 span: [2]int64{2, 6}, 53 want: [2]int{1, 3}, 54 }, 55 } { 56 t.Run("", func(t *testing.T) { 57 bkr := &bkreader{spans: tc.spans} 58 ibeg, iend := bkr.findBaskets(tc.span[0], tc.span[1]) 59 got := [2]int{ibeg, iend} 60 if got, want := got, tc.want; got != want { 61 t.Fatalf("invalid range for span %#v, got=%v, want=%v", 62 tc.span, got, want, 63 ) 64 } 65 }) 66 } 67 }