StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
StackGenVis/frontend/node_modules/grid-index/test/index.js

61 lines
1.9 KiB

4 years ago
'use strict';
var GridIndex = require('../grid-index');
var test = require('tap').test;
test('GridIndex', function(t) {
t.test('indexes features', function(t) {
var grid = new GridIndex(100, 4, 1);
grid.insert(0, 4, 10, 6, 30);
grid.insert(1, 4, 10, 30, 12);
grid.insert(2, -10, 30, -5, 35);
t.deepEqual(grid.query(4, 10, 5, 11).sort(), [0, 1]);
t.deepEqual(grid.query(24, 10, 25, 11).sort(), [1]);
t.deepEqual(grid.query(40, 40, 100, 100), []);
t.deepEqual(grid.query(-6, 0, -7, 100), [2]);
t.deepEqual(grid.query(-Infinity, -Infinity, Infinity, Infinity).sort(), [0, 1, 2]);
t.end();
});
t.test('returns multiple copies of a key if multiple boxes were inserted with the same key', function(t) {
var grid = new GridIndex(100, 4, 0);
var key = 123;
grid.insert(key, 3, 3, 4, 4);
grid.insert(key, 13, 13, 14, 14);
grid.insert(key, 23, 23, 24, 24);
t.deepEqual(grid.query(0, 0, 30, 30), [key, key, key]);
t.end();
});
t.test('serializing to an arraybuffer', function(t) {
var originalGrid = new GridIndex(100, 4, 1);
originalGrid.insert(0, 4, 10, 6, 30);
originalGrid.insert(1, 4, 10, 30, 12);
originalGrid.insert(2, -10, 30, -5, 35);
var arrayBuffer = originalGrid.toArrayBuffer();
var grid = new GridIndex(arrayBuffer);
t.deepEqual(grid.query(4, 10, 5, 11).sort(), [0, 1]);
t.deepEqual(grid.query(24, 10, 25, 11).sort(), [1]);
t.deepEqual(grid.query(40, 40, 100, 100), []);
t.deepEqual(grid.query(-6, 0, -7, 100), [2]);
t.deepEqual(grid.query(-Infinity, -Infinity, Infinity, Infinity).sort(), [0, 1, 2]);
var exception = null;
try {
t.insert(3, 0, 0, 0, 0);
} catch(e) {
exception = e;
}
t.notEqual(exception, null);
t.end();
});
t.end();
});