forked from Raruto/leaflet-elevation
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathutils.spec.js
More file actions
70 lines (62 loc) · 2.24 KB
/
utils.spec.js
File metadata and controls
70 lines (62 loc) · 2.24 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
/**
* src/utils.js
*/
import { suite } from "uvu";
import * as assert from "uvu/assert";
import "../test/setup/jsdom.js";
import { iAvg, iMin, iMax, iSum } from "../src/utils.js";
const toFixed = (n) => +n.toFixed(2);
const test = suite("src/utils.js");
test("iAvg()", () => {
let avg;
avg = iAvg(100, undefined, 1);
assert.is(toFixed(avg), 100); // average for [100] is 100
avg = iAvg(100, avg, 2);
assert.is(toFixed(avg), 100); // average for [100, 100] is 100
avg = iAvg(200, avg, 3);
assert.is(toFixed(avg), 133.33); // average for [100, 100, 200] is 133.33
avg = iAvg(200, avg, 4);
assert.is(toFixed(avg), 150); // average for [100, 100, 200, 200] is 150
avg = iAvg(NaN, avg, 5);
assert.ok(isNaN(avg)); // average for [100, 100, 200, 200, NaN] is NaN
});
test("iMin()", () => {
let min;
min = iMin(100, undefined);
assert.is(toFixed(min), 100); // min for [100] is 100
min = iMin(NaN, min);
assert.is(toFixed(min), 100); // min for [100, NaN] is 100
min = iMin(0, min);
assert.is(toFixed(min), 0); // min for [100, NaN, 0] is 100
min = iMin(-200, min);
assert.is(toFixed(min), -200); // min for [100, NaN, 0, -200] is -200
min = iMin(200, min);
assert.is(toFixed(min), -200); // min for [100, NaN, -100, -200, 200] is -200
});
test("iMax()", () => {
let max;
max = iMax(100, undefined);
assert.is(toFixed(max), 100); // max for [100] is 100
max = iMax(NaN, max);
assert.is(toFixed(max), 100); // max for [100, NaN] is 100
max = iMax(0, max);
assert.is(toFixed(max), 100); // max for [100, NaN, 0] is 100
max = iMax(-200, max);
assert.is(toFixed(max), 100); // max for [100, NaN, 0, -200] is 100
max = iMax(200, max);
assert.is(toFixed(max), 200); // max for [100, NaN, -100, -200, 200] is 200
});
test("iSum()", () => {
let sum;
sum = iSum(10.25, undefined);
assert.is(toFixed(sum), 10.25); // sum for [10.25] is 10.25
sum = iSum(0, sum);
assert.is(toFixed(sum), 10.25); // sum for [10.25, 0] is 10.25
sum = iSum(-0.25, sum);
assert.is(toFixed(sum), 10); // sum for [10.25, 0, -0.25] is 10
sum = iSum(-10, sum);
assert.is(toFixed(sum), 0); // sum for [10.25, 0, -0.25, -10] is 0
sum = iSum(NaN, sum);
assert.ok(isNaN(sum)); // sum for [10.25, 0, -0.25, -10, NaN] is NaN
});
test.run();