Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/base/test/common/arraysFind.test.ts
3296 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import assert from 'assert';
7
import { MonotonousArray, findFirstMonotonous, findLastMonotonous } from '../../common/arraysFind.js';
8
import { ensureNoDisposablesAreLeakedInTestSuite } from './utils.js';
9
10
suite('Arrays', () => {
11
ensureNoDisposablesAreLeakedInTestSuite();
12
13
test('findLastMonotonous', () => {
14
const array = [1, 4, 5, 7, 55, 59, 60, 61, 64, 69];
15
16
const result = findLastMonotonous(array, n => n <= 60);
17
assert.strictEqual(result, 60);
18
19
const result2 = findLastMonotonous(array, n => n <= 62);
20
assert.strictEqual(result2, 61);
21
22
const result3 = findLastMonotonous(array, n => n <= 1);
23
assert.strictEqual(result3, 1);
24
25
const result4 = findLastMonotonous(array, n => n <= 70);
26
assert.strictEqual(result4, 69);
27
28
const result5 = findLastMonotonous(array, n => n <= 0);
29
assert.strictEqual(result5, undefined);
30
});
31
32
test('findFirstMonotonous', () => {
33
const array = [1, 4, 5, 7, 55, 59, 60, 61, 64, 69];
34
35
const result = findFirstMonotonous(array, n => n >= 60);
36
assert.strictEqual(result, 60);
37
38
const result2 = findFirstMonotonous(array, n => n >= 62);
39
assert.strictEqual(result2, 64);
40
41
const result3 = findFirstMonotonous(array, n => n >= 1);
42
assert.strictEqual(result3, 1);
43
44
const result4 = findFirstMonotonous(array, n => n >= 70);
45
assert.strictEqual(result4, undefined);
46
47
const result5 = findFirstMonotonous(array, n => n >= 0);
48
assert.strictEqual(result5, 1);
49
});
50
51
test('MonotonousArray', () => {
52
const arr = new MonotonousArray([1, 4, 5, 7, 55, 59, 60, 61, 64, 69]);
53
assert.strictEqual(arr.findLastMonotonous(n => n <= 0), undefined);
54
assert.strictEqual(arr.findLastMonotonous(n => n <= 0), undefined);
55
assert.strictEqual(arr.findLastMonotonous(n => n <= 5), 5);
56
assert.strictEqual(arr.findLastMonotonous(n => n <= 6), 5);
57
assert.strictEqual(arr.findLastMonotonous(n => n <= 55), 55);
58
assert.strictEqual(arr.findLastMonotonous(n => n <= 60), 60);
59
assert.strictEqual(arr.findLastMonotonous(n => n <= 80), 69);
60
});
61
});
62
63