@@ -20,7 +20,7 @@ describe('FenwickTree', () => {
20
20
expect ( tree . treeArray . length ) . toBe ( inputArray . length + 1 ) ;
21
21
22
22
inputArray . forEach ( ( value , index ) => {
23
- tree . update ( index + 1 , value ) ;
23
+ tree . increase ( index + 1 , value ) ;
24
24
} ) ;
25
25
26
26
expect ( tree . treeArray ) . toEqual ( [ 0 , 3 , 5 , - 1 , 10 , 5 , 9 , - 3 , 19 , 7 , 9 , 3 ] ) ;
@@ -41,23 +41,42 @@ describe('FenwickTree', () => {
41
41
expect ( tree . queryRange ( 1 , 2 ) ) . toBe ( 5 ) ;
42
42
expect ( tree . queryRange ( 2 , 4 ) ) . toBe ( 7 ) ;
43
43
expect ( tree . queryRange ( 6 , 9 ) ) . toBe ( 11 ) ;
44
+
45
+ tree . increase ( 3 , 1 ) ;
46
+
47
+ expect ( tree . query ( 1 ) ) . toBe ( 3 ) ;
48
+ expect ( tree . query ( 2 ) ) . toBe ( 5 ) ;
49
+ expect ( tree . query ( 3 ) ) . toBe ( 5 ) ;
50
+ expect ( tree . query ( 4 ) ) . toBe ( 11 ) ;
51
+ expect ( tree . query ( 5 ) ) . toBe ( 16 ) ;
52
+ expect ( tree . query ( 6 ) ) . toBe ( 20 ) ;
53
+ expect ( tree . query ( 7 ) ) . toBe ( 17 ) ;
54
+ expect ( tree . query ( 8 ) ) . toBe ( 20 ) ;
55
+ expect ( tree . query ( 9 ) ) . toBe ( 27 ) ;
56
+ expect ( tree . query ( 10 ) ) . toBe ( 29 ) ;
57
+ expect ( tree . query ( 11 ) ) . toBe ( 32 ) ;
58
+
59
+ expect ( tree . queryRange ( 1 , 1 ) ) . toBe ( 3 ) ;
60
+ expect ( tree . queryRange ( 1 , 2 ) ) . toBe ( 5 ) ;
61
+ expect ( tree . queryRange ( 2 , 4 ) ) . toBe ( 8 ) ;
62
+ expect ( tree . queryRange ( 6 , 9 ) ) . toBe ( 11 ) ;
44
63
} ) ;
45
64
46
65
it ( 'should correctly execute queries' , ( ) => {
47
66
const tree = new FenwickTree ( 5 ) ;
48
67
49
- tree . update ( 1 , 4 ) ;
50
- tree . update ( 3 , 7 ) ;
68
+ tree . increase ( 1 , 4 ) ;
69
+ tree . increase ( 3 , 7 ) ;
51
70
52
71
expect ( tree . query ( 1 ) ) . toBe ( 4 ) ;
53
72
expect ( tree . query ( 3 ) ) . toBe ( 11 ) ;
54
73
expect ( tree . query ( 5 ) ) . toBe ( 11 ) ;
55
74
expect ( tree . queryRange ( 2 , 3 ) ) . toBe ( 7 ) ;
56
75
57
- tree . update ( 2 , 5 ) ;
76
+ tree . increase ( 2 , 5 ) ;
58
77
expect ( tree . query ( 5 ) ) . toBe ( 16 ) ;
59
78
60
- tree . update ( 1 , 3 ) ;
79
+ tree . increase ( 1 , 3 ) ;
61
80
expect ( tree . queryRange ( 1 , 1 ) ) . toBe ( 7 ) ;
62
81
expect ( tree . query ( 5 ) ) . toBe ( 19 ) ;
63
82
expect ( tree . queryRange ( 1 , 5 ) ) . toBe ( 19 ) ;
@@ -66,12 +85,12 @@ describe('FenwickTree', () => {
66
85
it ( 'should throw exceptions' , ( ) => {
67
86
const tree = new FenwickTree ( 5 ) ;
68
87
69
- const updateAtInvalidLowIndex = ( ) => {
70
- tree . update ( 0 , 1 ) ;
88
+ const increaseAtInvalidLowIndex = ( ) => {
89
+ tree . increase ( 0 , 1 ) ;
71
90
} ;
72
91
73
- const updateAtInvalidHighIndex = ( ) => {
74
- tree . update ( 10 , 1 ) ;
92
+ const increaseAtInvalidHighIndex = ( ) => {
93
+ tree . increase ( 10 , 1 ) ;
75
94
} ;
76
95
77
96
const queryInvalidLowIndex = ( ) => {
@@ -86,8 +105,8 @@ describe('FenwickTree', () => {
86
105
tree . queryRange ( 3 , 2 ) ;
87
106
} ;
88
107
89
- expect ( updateAtInvalidLowIndex ) . toThrowError ( ) ;
90
- expect ( updateAtInvalidHighIndex ) . toThrowError ( ) ;
108
+ expect ( increaseAtInvalidLowIndex ) . toThrowError ( ) ;
109
+ expect ( increaseAtInvalidHighIndex ) . toThrowError ( ) ;
91
110
expect ( queryInvalidLowIndex ) . toThrowError ( ) ;
92
111
expect ( queryInvalidHighIndex ) . toThrowError ( ) ;
93
112
expect ( rangeQueryInvalidIndex ) . toThrowError ( ) ;
0 commit comments