mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-14 18:46:34 -05:00
SQL Operations Studio Public Preview 1 (0.23) release source code
This commit is contained in:
171
src/vs/editor/test/common/viewModel/prefixSumComputer.test.ts
Normal file
171
src/vs/editor/test/common/viewModel/prefixSumComputer.test.ts
Normal file
@@ -0,0 +1,171 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
|
||||
import * as assert from 'assert';
|
||||
import { PrefixSumComputer, PrefixSumIndexOfResult } from 'vs/editor/common/viewModel/prefixSumComputer';
|
||||
import { toUint32Array } from 'vs/editor/common/core/uint';
|
||||
|
||||
suite('Editor ViewModel - PrefixSumComputer', () => {
|
||||
|
||||
test('PrefixSumComputer', () => {
|
||||
let indexOfResult: PrefixSumIndexOfResult;
|
||||
|
||||
var psc = new PrefixSumComputer(toUint32Array([1, 1, 2, 1, 3]));
|
||||
assert.equal(psc.getTotalValue(), 8);
|
||||
assert.equal(psc.getAccumulatedValue(-1), 0);
|
||||
assert.equal(psc.getAccumulatedValue(0), 1);
|
||||
assert.equal(psc.getAccumulatedValue(1), 2);
|
||||
assert.equal(psc.getAccumulatedValue(2), 4);
|
||||
assert.equal(psc.getAccumulatedValue(3), 5);
|
||||
assert.equal(psc.getAccumulatedValue(4), 8);
|
||||
indexOfResult = psc.getIndexOf(0);
|
||||
assert.equal(indexOfResult.index, 0);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(1);
|
||||
assert.equal(indexOfResult.index, 1);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(2);
|
||||
assert.equal(indexOfResult.index, 2);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(3);
|
||||
assert.equal(indexOfResult.index, 2);
|
||||
assert.equal(indexOfResult.remainder, 1);
|
||||
indexOfResult = psc.getIndexOf(4);
|
||||
assert.equal(indexOfResult.index, 3);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(5);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(6);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 1);
|
||||
indexOfResult = psc.getIndexOf(7);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 2);
|
||||
indexOfResult = psc.getIndexOf(8);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 3);
|
||||
|
||||
// [1, 2, 2, 1, 3]
|
||||
psc.changeValue(1, 2);
|
||||
assert.equal(psc.getTotalValue(), 9);
|
||||
assert.equal(psc.getAccumulatedValue(0), 1);
|
||||
assert.equal(psc.getAccumulatedValue(1), 3);
|
||||
assert.equal(psc.getAccumulatedValue(2), 5);
|
||||
assert.equal(psc.getAccumulatedValue(3), 6);
|
||||
assert.equal(psc.getAccumulatedValue(4), 9);
|
||||
|
||||
// [1, 0, 2, 1, 3]
|
||||
psc.changeValue(1, 0);
|
||||
assert.equal(psc.getTotalValue(), 7);
|
||||
assert.equal(psc.getAccumulatedValue(0), 1);
|
||||
assert.equal(psc.getAccumulatedValue(1), 1);
|
||||
assert.equal(psc.getAccumulatedValue(2), 3);
|
||||
assert.equal(psc.getAccumulatedValue(3), 4);
|
||||
assert.equal(psc.getAccumulatedValue(4), 7);
|
||||
indexOfResult = psc.getIndexOf(0);
|
||||
assert.equal(indexOfResult.index, 0);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(1);
|
||||
assert.equal(indexOfResult.index, 2);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(2);
|
||||
assert.equal(indexOfResult.index, 2);
|
||||
assert.equal(indexOfResult.remainder, 1);
|
||||
indexOfResult = psc.getIndexOf(3);
|
||||
assert.equal(indexOfResult.index, 3);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(4);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(5);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 1);
|
||||
indexOfResult = psc.getIndexOf(6);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 2);
|
||||
indexOfResult = psc.getIndexOf(7);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 3);
|
||||
|
||||
// [1, 0, 0, 1, 3]
|
||||
psc.changeValue(2, 0);
|
||||
assert.equal(psc.getTotalValue(), 5);
|
||||
assert.equal(psc.getAccumulatedValue(0), 1);
|
||||
assert.equal(psc.getAccumulatedValue(1), 1);
|
||||
assert.equal(psc.getAccumulatedValue(2), 1);
|
||||
assert.equal(psc.getAccumulatedValue(3), 2);
|
||||
assert.equal(psc.getAccumulatedValue(4), 5);
|
||||
indexOfResult = psc.getIndexOf(0);
|
||||
assert.equal(indexOfResult.index, 0);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(1);
|
||||
assert.equal(indexOfResult.index, 3);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(2);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(3);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 1);
|
||||
indexOfResult = psc.getIndexOf(4);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 2);
|
||||
indexOfResult = psc.getIndexOf(5);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 3);
|
||||
|
||||
// [1, 0, 0, 0, 3]
|
||||
psc.changeValue(3, 0);
|
||||
assert.equal(psc.getTotalValue(), 4);
|
||||
assert.equal(psc.getAccumulatedValue(0), 1);
|
||||
assert.equal(psc.getAccumulatedValue(1), 1);
|
||||
assert.equal(psc.getAccumulatedValue(2), 1);
|
||||
assert.equal(psc.getAccumulatedValue(3), 1);
|
||||
assert.equal(psc.getAccumulatedValue(4), 4);
|
||||
indexOfResult = psc.getIndexOf(0);
|
||||
assert.equal(indexOfResult.index, 0);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(1);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(2);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 1);
|
||||
indexOfResult = psc.getIndexOf(3);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 2);
|
||||
indexOfResult = psc.getIndexOf(4);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 3);
|
||||
|
||||
// [1, 1, 0, 1, 1]
|
||||
psc.changeValue(1, 1);
|
||||
psc.changeValue(3, 1);
|
||||
psc.changeValue(4, 1);
|
||||
assert.equal(psc.getTotalValue(), 4);
|
||||
assert.equal(psc.getAccumulatedValue(0), 1);
|
||||
assert.equal(psc.getAccumulatedValue(1), 2);
|
||||
assert.equal(psc.getAccumulatedValue(2), 2);
|
||||
assert.equal(psc.getAccumulatedValue(3), 3);
|
||||
assert.equal(psc.getAccumulatedValue(4), 4);
|
||||
indexOfResult = psc.getIndexOf(0);
|
||||
assert.equal(indexOfResult.index, 0);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(1);
|
||||
assert.equal(indexOfResult.index, 1);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(2);
|
||||
assert.equal(indexOfResult.index, 3);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(3);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 0);
|
||||
indexOfResult = psc.getIndexOf(4);
|
||||
assert.equal(indexOfResult.index, 4);
|
||||
assert.equal(indexOfResult.remainder, 1);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user