func benchmarkGet(size int, b *testing.B) { b.StopTimer() insert := perm(size) get := perm(size) b.StartTimer() i := 0 for i < b.N { b.StopTimer() bt := binarytree.New() for _, v := range insert { bt.Insert(v) i++ if i >= b.N { return } } b.StartTimer() for _, v := range get { bt.Get(v) i++ if i >= b.N { return } } } }
func TestInsertAndSearch(t *testing.T) { bt := binarytree.New() bt.Insert(10) bt.Insert(7) bt.Insert(1) bt.Insert(13) bt.Insert(16) if !bt.Get(7) { t.Fatalf("should found 10") } if bt.Get(11) { t.Fatalf("should not found 11") } }
func benchmarkInsert(size int, b *testing.B) { b.StopTimer() values := perm(size) b.StartTimer() i := 0 for i < b.N { bt := binarytree.New() for _, v := range values { bt.Insert(v) i++ if i >= b.N { return } } } }