@Test public void testAddValue() { int n = 2000; FenwickTree fw = new FenwickTree(n); long[] A = randomArray(n); for (int i = 0; i < A.length; i++) { fw.addValue(i + 1, A[i]); } long[] B = fw.toArray(); assertArrayEquals(A, B); }
@Test public void testAddValueToRange() { int n = 500; long[] A = randomArray(n); FenwickTree fw = fenwickTree(A); for (int i = 0; i < A.length; i++) { for (int j = i; j < A.length; j++) { long value = random.nextInt(100); addValueToRange(A, i, j, value); fw.addValueToRange(i + 1, j + 1, value); } } long[] B = fw.toArray(); assertArrayEquals(A, B); }