UNPKG

molstar

Version:

A comprehensive macromolecular library.

50 lines 2.15 kB
"use strict"; /** * Copyright (c) 2018-2020 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author David Sehnal <david.sehnal@gmail.com> */ Object.defineProperty(exports, "__esModule", { value: true }); var geometry_1 = require("../../geometry"); var util_1 = require("../../../mol-data/util"); var int_1 = require("../../../mol-data/int"); var boundary_1 = require("../boundary"); var xs = [0, 0, 1]; var ys = [0, 1, 0]; var zs = [0, 0, 0]; var rs = [0, 0.5, 1 / 3]; describe('GridLookup3d', function () { it('basic', function () { var position = { x: xs, y: ys, z: zs, indices: int_1.OrderedSet.ofBounds(0, 3) }; var boundary = (0, boundary_1.getBoundary)(position); var grid = (0, geometry_1.GridLookup3D)(position, boundary); var r = grid.find(0, 0, 0, 0); expect(r.count).toBe(1); expect(r.indices[0]).toBe(0); r = grid.find(0, 0, 0, 1); expect(r.count).toBe(3); expect((0, util_1.sortArray)(r.indices)).toEqual([0, 1, 2]); }); it('radius', function () { var position = { x: xs, y: ys, z: zs, radius: [0, 0.5, 1 / 3], indices: int_1.OrderedSet.ofBounds(0, 3) }; var boundary = (0, boundary_1.getBoundary)(position); var grid = (0, geometry_1.GridLookup3D)(position, boundary); var r = grid.find(0, 0, 0, 0); expect(r.count).toBe(1); expect(r.indices[0]).toBe(0); r = grid.find(0, 0, 0, 0.5); expect(r.count).toBe(2); expect((0, util_1.sortArray)(r.indices)).toEqual([0, 1]); }); it('indexed', function () { var position = { x: xs, y: ys, z: zs, indices: int_1.OrderedSet.ofSingleton(1), radius: rs }; var boundary = (0, boundary_1.getBoundary)(position); var grid = (0, geometry_1.GridLookup3D)(position, boundary); var r = grid.find(0, 0, 0, 0); expect(r.count).toBe(0); r = grid.find(0, 0, 0, 0.5); expect(r.count).toBe(1); expect((0, util_1.sortArray)(r.indices)).toEqual([0]); }); }); //# sourceMappingURL=lookup3d.spec.js.map