mirror of
https://gitlab.com/JKANetwork/CheckServer.git
synced 2026-02-26 23:13:47 +01:00
Start again
This commit is contained in:
200
vendors/echarts/test/ut/spec/util/number.js
vendored
Normal file
200
vendors/echarts/test/ut/spec/util/number.js
vendored
Normal file
@@ -0,0 +1,200 @@
|
||||
describe('util/number', function () {
|
||||
|
||||
var utHelper = window.utHelper;
|
||||
|
||||
var testCase = utHelper.prepare(['echarts/util/number']);
|
||||
|
||||
describe('linearMap', function () {
|
||||
|
||||
testCase('accuracyError', function (numberUtil) {
|
||||
var range = [-15918.3, 17724.9];
|
||||
var result = numberUtil.linearMap(100, [0, 100], range, true);
|
||||
// Should not be 17724.899999999998.
|
||||
expect(result).toEqual(range[1]);
|
||||
|
||||
var range = [-62.83, 83.56];
|
||||
var result = numberUtil.linearMap(100, [0, 100], range, true);
|
||||
// Should not be 83.55999999999999.
|
||||
expect(result).toEqual(range[1]);
|
||||
});
|
||||
|
||||
testCase('clamp', function (numberUtil) {
|
||||
// (1) normal order.
|
||||
var range = [-15918.3, 17724.9];
|
||||
// bigger than max
|
||||
var result = numberUtil.linearMap(100.1, [0, 100], range, true);
|
||||
expect(result).toEqual(range[1]);
|
||||
// smaller than min
|
||||
var result = numberUtil.linearMap(-2, [0, 100], range, true);
|
||||
expect(result).toEqual(range[0]);
|
||||
// equals to max
|
||||
var result = numberUtil.linearMap(100, [0, 100], range, true);
|
||||
expect(result).toEqual(range[1]);
|
||||
// equals to min
|
||||
var result = numberUtil.linearMap(0, [0, 100], range, true);
|
||||
expect(result).toEqual(range[0]);
|
||||
|
||||
// (2) inverse range
|
||||
var range = [17724.9, -15918.3];
|
||||
// bigger than max
|
||||
var result = numberUtil.linearMap(102, [0, 100], range, true);
|
||||
expect(result).toEqual(range[1]);
|
||||
// smaller than min
|
||||
var result = numberUtil.linearMap(-0.001, [0, 100], range, true);
|
||||
expect(result).toEqual(range[0]);
|
||||
// equals to max
|
||||
var result = numberUtil.linearMap(100, [0, 100], range, true);
|
||||
expect(result).toEqual(range[1]);
|
||||
// equals to min
|
||||
var result = numberUtil.linearMap(0, [0, 100], range, true);
|
||||
expect(result).toEqual(range[0]);
|
||||
|
||||
// (2) inverse domain
|
||||
// bigger than max, inverse domain
|
||||
var range = [-15918.3, 17724.9];
|
||||
// bigger than max
|
||||
var result = numberUtil.linearMap(102, [100, 0], range, true);
|
||||
expect(result).toEqual(range[0]);
|
||||
// smaller than min
|
||||
var result = numberUtil.linearMap(-0.001, [100, 0], range, true);
|
||||
expect(result).toEqual(range[1]);
|
||||
// equals to max
|
||||
var result = numberUtil.linearMap(100, [100, 0], range, true);
|
||||
expect(result).toEqual(range[0]);
|
||||
// equals to min
|
||||
var result = numberUtil.linearMap(0, [100, 0], range, true);
|
||||
expect(result).toEqual(range[1]);
|
||||
|
||||
// (3) inverse domain, inverse range
|
||||
var range = [17724.9, -15918.3];
|
||||
// bigger than max
|
||||
var result = numberUtil.linearMap(100.1, [100, 0], range, true);
|
||||
expect(result).toEqual(range[0]);
|
||||
// smaller than min
|
||||
var result = numberUtil.linearMap(-2, [100, 0], range, true);
|
||||
expect(result).toEqual(range[1]);
|
||||
// equals to max
|
||||
var result = numberUtil.linearMap(100, [100, 0], range, true);
|
||||
expect(result).toEqual(range[0]);
|
||||
// equals to min
|
||||
var result = numberUtil.linearMap(0, [100, 0], range, true);
|
||||
expect(result).toEqual(range[1]);
|
||||
});
|
||||
|
||||
testCase('noClamp', function (numberUtil) {
|
||||
// (1) normal order.
|
||||
var range = [-15918.3, 17724.9];
|
||||
// bigger than max
|
||||
var result = numberUtil.linearMap(100.1, [0, 100], range, false);
|
||||
expect(result).toEqual(17758.543199999996);
|
||||
// smaller than min
|
||||
var result = numberUtil.linearMap(-2, [0, 100], range, false);
|
||||
expect(result).toEqual(-16591.164);
|
||||
// equals to max
|
||||
var result = numberUtil.linearMap(100, [0, 100], range, false);
|
||||
expect(result).toEqual(17724.9);
|
||||
// equals to min
|
||||
var result = numberUtil.linearMap(0, [0, 100], range, false);
|
||||
expect(result).toEqual(-15918.3);
|
||||
|
||||
// (2) inverse range
|
||||
var range = [17724.9, -15918.3];
|
||||
// bigger than max
|
||||
var result = numberUtil.linearMap(102, [0, 100], range, false);
|
||||
expect(result).toEqual(-16591.163999999997);
|
||||
// smaller than min
|
||||
var result = numberUtil.linearMap(-0.001, [0, 100], range, false);
|
||||
expect(result).toEqual(17725.236432);
|
||||
// equals to max
|
||||
var result = numberUtil.linearMap(100, [0, 100], range, false);
|
||||
expect(result).toEqual(-15918.3);
|
||||
// equals to min
|
||||
var result = numberUtil.linearMap(0, [0, 100], range, false);
|
||||
expect(result).toEqual(17724.9);
|
||||
|
||||
// (2) inverse domain
|
||||
// bigger than max, inverse domain
|
||||
var range = [-15918.3, 17724.9];
|
||||
// bigger than max
|
||||
var result = numberUtil.linearMap(102, [100, 0], range, false);
|
||||
expect(result).toEqual(-16591.164);
|
||||
// smaller than min
|
||||
var result = numberUtil.linearMap(-0.001, [100, 0], range, false);
|
||||
expect(result).toEqual(17725.236432);
|
||||
// equals to max
|
||||
var result = numberUtil.linearMap(100, [100, 0], range, false);
|
||||
expect(result).toEqual(-15918.3);
|
||||
// equals to min
|
||||
var result = numberUtil.linearMap(0, [100, 0], range, false);
|
||||
expect(result).toEqual(17724.9);
|
||||
|
||||
// (3) inverse domain, inverse range
|
||||
var range = [17724.9, -15918.3];
|
||||
// bigger than max
|
||||
var result = numberUtil.linearMap(100.1, [100, 0], range, false);
|
||||
expect(result).toEqual(17758.5432);
|
||||
// smaller than min
|
||||
var result = numberUtil.linearMap(-2, [100, 0], range, false);
|
||||
expect(result).toEqual(-16591.163999999997);
|
||||
// equals to max
|
||||
var result = numberUtil.linearMap(100, [100, 0], range, false);
|
||||
expect(result).toEqual(17724.9);
|
||||
// equals to min
|
||||
var result = numberUtil.linearMap(0, [100, 0], range, false);
|
||||
expect(result).toEqual(-15918.3);
|
||||
});
|
||||
|
||||
testCase('normal', function (numberUtil) {
|
||||
|
||||
doTest(true);
|
||||
doTest(false);
|
||||
|
||||
function doTest(clamp) {
|
||||
// normal
|
||||
var range = [444, 555];
|
||||
var result = numberUtil.linearMap(40, [0, 100], range, clamp);
|
||||
expect(result).toEqual(488.4);
|
||||
|
||||
// inverse range
|
||||
var range = [555, 444];
|
||||
var result = numberUtil.linearMap(40, [0, 100], range, clamp);
|
||||
expect(result).toEqual(510.6);
|
||||
|
||||
// inverse domain and range
|
||||
var range = [555, 444];
|
||||
var result = numberUtil.linearMap(40, [100, 0], range, clamp);
|
||||
expect(result).toEqual(488.4);
|
||||
|
||||
// inverse domain
|
||||
var range = [444, 555];
|
||||
var result = numberUtil.linearMap(40, [100, 0], range, clamp);
|
||||
expect(result).toEqual(510.6);
|
||||
}
|
||||
});
|
||||
|
||||
testCase('zeroInterval', function (numberUtil) {
|
||||
|
||||
doTest(true);
|
||||
doTest(false);
|
||||
|
||||
function doTest(clamp) {
|
||||
// zero domain interval
|
||||
var range = [444, 555];
|
||||
var result = numberUtil.linearMap(40, [1212222223.2323232, 1212222223.2323232], range, clamp);
|
||||
expect(result).toEqual(499.5); // half of range.
|
||||
|
||||
// zero range interval
|
||||
var range = [1221212.1221372238, 1221212.1221372238];
|
||||
var result = numberUtil.linearMap(40, [0, 100], range, clamp);
|
||||
expect(result).toEqual(1221212.1221372238);
|
||||
|
||||
// zero domain interval and range interval
|
||||
var range = [1221212.1221372238, 1221212.1221372238];
|
||||
var result = numberUtil.linearMap(40, [43.55454545, 43.55454545], range, clamp);
|
||||
expect(result).toEqual(1221212.1221372238);
|
||||
}
|
||||
})
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
Reference in New Issue
Block a user