UNPKG

molstar

Version:

A comprehensive macromolecular library.

74 lines 2.72 kB
"use strict"; /** * Copyright (c) 2017 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose <alexander.rose@weirdbyte.de> * @author David Sehnal <david.sehnal@gmail.com> */ Object.defineProperty(exports, "__esModule", { value: true }); var fixed_1 = require("../common/text/column/fixed"); var token_1 = require("../common/text/column/token"); var db_1 = require("../../../mol-data/db"); var lines = [ '1.123 abc', '1.00 a', '1.1 bcd ', '', ' 5' ]; var linesData = lines.join('\n'); var linesTokens = (function () { var tokens = []; var last = 0; for (var _i = 0, lines_1 = lines; _i < lines_1.length; _i++) { var l = lines_1[_i]; tokens.push(last, last + l.length); last += l.length + 1; } if (tokens[tokens.length - 1] > linesData.length) tokens[tokens.length - 1] = linesData.length; return tokens; }()); describe('fixed text column', function () { var col = (0, fixed_1.FixedColumnProvider)({ data: linesData, indices: linesTokens, count: lines.length }); var col1 = col(0, 5, db_1.Column.Schema.float); var col2 = col(5, 4, db_1.Column.Schema.str); it('number', function () { expect(col1.value(0)).toBe(1.123); expect(col1.value(1)).toBe(1.0); expect(col1.value(2)).toBe(1.1); expect(col1.value(3)).toBe(0); expect(col1.value(4)).toBe(5); }); it('str', function () { expect(col2.value(0)).toBe('abc'); expect(col2.value(1)).toBe('a'); expect(col2.value(2)).toBe('bc'); expect(col2.value(3)).toBe(''); expect(col2.value(4)).toBe(''); }); }); describe('token text column', function () { var tokensData = '321'; var col = (0, token_1.TokenColumnProvider)({ data: tokensData, indices: [0, 1, 1, 2, 2, 3], count: 3 }); var col1 = col(db_1.Column.Schema.int); it('number', function () { expect(col1.value(0)).toBe(3); expect(col1.value(1)).toBe(2); expect(col1.value(2)).toBe(1); }); }); describe('binary column', function () { it('window works', function () { var xs = new Float64Array([1, 2, 3, 4]); var w1 = db_1.ColumnHelpers.typedArrayWindow(xs, { start: 1 }); var w2 = db_1.ColumnHelpers.typedArrayWindow(xs, { start: 2, end: 4 }); expect(w1.length).toBe(3); for (var i = 0; i < w1.length; i++) expect(w1[i]).toBe(xs[i + 1]); expect(w2.length).toBe(2); for (var i = 0; i < w2.length; i++) expect(w2[i]).toBe(xs[i + 2]); }); }); //# sourceMappingURL=column.spec.js.map