File tree 3 files changed +19
-4
lines changed
3 files changed +19
-4
lines changed Original file line number Diff line number Diff line change 1
1
{
2
- "version" : " 0.5.0 " ,
2
+ "version" : " 0.5.1 " ,
3
3
"name" : " d3-quant" ,
4
4
"description" : " D3 library for quantitative analytics" ,
5
5
"homepage" : " https://github.com/quantmind/d3-quant" ,
Original file line number Diff line number Diff line change @@ -107,10 +107,10 @@ class Node implements BtreeNode {
107
107
let nd : Node ;
108
108
109
109
if ( score > this . score ) {
110
- if ( this . right ) return this . right . insert ( node ) ;
110
+ if ( this . right ) return this . right . insert ( node , callback ) ;
111
111
else this . right = nd = new Node ( score ) ;
112
112
} else {
113
- if ( this . left ) return this . left . insert ( node ) ;
113
+ if ( this . left ) return this . left . insert ( node , callback ) ;
114
114
else this . left = nd = new Node ( score ) ;
115
115
}
116
116
nd . red = true ;
Original file line number Diff line number Diff line change 1
- import { binaryTree } from "../src" ;
1
+ import { range } from "d3-array" ;
2
+ import { binaryTree , BtreeNode } from "../src" ;
2
3
3
4
describe ( "Btree" , ( ) => {
4
5
test ( "test btree constructor" , ( ) => {
@@ -28,4 +29,18 @@ describe("Btree", () => {
28
29
const nodes = tree . nodes ( ) ;
29
30
expect ( nodes . length ) . toBe ( 3 ) ;
30
31
} ) ;
32
+
33
+ test ( "test btree insert callback" , ( ) => {
34
+ const tree = binaryTree ( ) ;
35
+ range ( 50 ) . forEach ( ( ) => {
36
+ const value = Math . random ( ) ;
37
+ let nd : BtreeNode | undefined ;
38
+ tree . insert ( value , ( n : BtreeNode ) => {
39
+ nd = n ;
40
+ } ) ;
41
+ expect ( nd ?. score ) . toBe ( value ) ;
42
+ } ) ;
43
+ tree . insert ( 0.5 ) ;
44
+ tree . insert ( 0.6 ) ;
45
+ } ) ;
31
46
} ) ;
You can’t perform that action at this time.
0 commit comments