Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit00fbba5

Browse files
committed
Update tests.
1 parent183dade commit00fbba5

File tree

2 files changed

+32
-13
lines changed

2 files changed

+32
-13
lines changed

‎src/data-structures/tree/fenwick-tree/FenwickTree.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ export default class FenwickTree {
1313
}
1414

1515
/**
16-
* Adds value to position.
16+
* Adds value toexisting value atposition.
1717
*
1818
*@param {number} position
1919
*@param {number} value
2020
*@return {FenwickTree}
2121
*/
22-
update(position,value){
22+
increase(position,value){
2323
if(position<1||position>this.arraySize){
2424
thrownewError('Position is out of allowed range');
2525
}

‎src/data-structures/tree/fenwick-tree/__test__/FenwickTree.test.js

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ describe('FenwickTree', () => {
2020
expect(tree.treeArray.length).toBe(inputArray.length+1);
2121

2222
inputArray.forEach((value,index)=>{
23-
tree.update(index+1,value);
23+
tree.increase(index+1,value);
2424
});
2525

2626
expect(tree.treeArray).toEqual([0,3,5,-1,10,5,9,-3,19,7,9,3]);
@@ -41,23 +41,42 @@ describe('FenwickTree', () => {
4141
expect(tree.queryRange(1,2)).toBe(5);
4242
expect(tree.queryRange(2,4)).toBe(7);
4343
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);
4463
});
4564

4665
it('should correctly execute queries',()=>{
4766
consttree=newFenwickTree(5);
4867

49-
tree.update(1,4);
50-
tree.update(3,7);
68+
tree.increase(1,4);
69+
tree.increase(3,7);
5170

5271
expect(tree.query(1)).toBe(4);
5372
expect(tree.query(3)).toBe(11);
5473
expect(tree.query(5)).toBe(11);
5574
expect(tree.queryRange(2,3)).toBe(7);
5675

57-
tree.update(2,5);
76+
tree.increase(2,5);
5877
expect(tree.query(5)).toBe(16);
5978

60-
tree.update(1,3);
79+
tree.increase(1,3);
6180
expect(tree.queryRange(1,1)).toBe(7);
6281
expect(tree.query(5)).toBe(19);
6382
expect(tree.queryRange(1,5)).toBe(19);
@@ -66,12 +85,12 @@ describe('FenwickTree', () => {
6685
it('should throw exceptions',()=>{
6786
consttree=newFenwickTree(5);
6887

69-
constupdateAtInvalidLowIndex=()=>{
70-
tree.update(0,1);
88+
constincreaseAtInvalidLowIndex=()=>{
89+
tree.increase(0,1);
7190
};
7291

73-
constupdateAtInvalidHighIndex=()=>{
74-
tree.update(10,1);
92+
constincreaseAtInvalidHighIndex=()=>{
93+
tree.increase(10,1);
7594
};
7695

7796
constqueryInvalidLowIndex=()=>{
@@ -86,8 +105,8 @@ describe('FenwickTree', () => {
86105
tree.queryRange(3,2);
87106
};
88107

89-
expect(updateAtInvalidLowIndex).toThrowError();
90-
expect(updateAtInvalidHighIndex).toThrowError();
108+
expect(increaseAtInvalidLowIndex).toThrowError();
109+
expect(increaseAtInvalidHighIndex).toThrowError();
91110
expect(queryInvalidLowIndex).toThrowError();
92111
expect(queryInvalidHighIndex).toThrowError();
93112
expect(rangeQueryInvalidIndex).toThrowError();

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp