UNPKG

molstar

Version:

A comprehensive macromolecular library.

87 lines 4.38 kB
"use strict"; /** * Copyright (c) 2017 mol* contributors, licensed under MIT, See LICENSE file for more info. * * @author Alexander Rose <alexander.rose@weirdbyte.de> */ Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var parser_1 = require("../csv/parser"); var csvStringBasic = "StrCol,IntCol,FloatCol\n# comment\nstring1,-1,-0.34e3\nstring2,42,2.44"; var csvStringAdvanced = "StrCol,\"Int Col\",FloatCol\n string1 \t , -1, -0.34e3\n # comment\n \" stri\nng2\" ,42, 2.44 "; var tabString = "StrCol\tIntCol\tFloatCol\nstring1\t-1\t-0.34e3\nstring2\t42\t2.44"; describe('csv reader', function () { it('basic', function () { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () { var parsed, csvFile, strCol, intCol, floatCol; return (0, tslib_1.__generator)(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, (0, parser_1.parseCsv)(csvStringBasic).run()]; case 1: parsed = _a.sent(); if (parsed.isError) return [2 /*return*/]; csvFile = parsed.result; strCol = csvFile.table.getColumn('StrCol'); if (strCol) expect(strCol.toStringArray()).toEqual(['string1', 'string2']); intCol = csvFile.table.getColumn('IntCol'); if (intCol) expect(intCol.toIntArray()).toEqual([-1, 42]); floatCol = csvFile.table.getColumn('FloatCol'); if (floatCol) expect(floatCol.toFloatArray()).toEqual([-340.0, 2.44]); expect.assertions(3); return [2 /*return*/]; } }); }); }); it('advanced', function () { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () { var parsed, csvFile, strCol, intCol, floatCol; return (0, tslib_1.__generator)(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, (0, parser_1.parseCsv)(csvStringAdvanced).run()]; case 1: parsed = _a.sent(); if (parsed.isError) return [2 /*return*/]; csvFile = parsed.result; strCol = csvFile.table.getColumn('StrCol'); if (strCol) expect(strCol.toStringArray()).toEqual(['string1', ' stri\nng2']); intCol = csvFile.table.getColumn('Int Col'); if (intCol) expect(intCol.toIntArray()).toEqual([-1, 42]); floatCol = csvFile.table.getColumn('FloatCol'); if (floatCol) expect(floatCol.toFloatArray()).toEqual([-340.0, 2.44]); expect.assertions(3); return [2 /*return*/]; } }); }); }); it('tabs', function () { return (0, tslib_1.__awaiter)(void 0, void 0, void 0, function () { var parsed, csvFile, strCol, intCol, floatCol; return (0, tslib_1.__generator)(this, function (_a) { switch (_a.label) { case 0: return [4 /*yield*/, (0, parser_1.parseCsv)(tabString, { delimiter: '\t' }).run()]; case 1: parsed = _a.sent(); if (parsed.isError) return [2 /*return*/]; csvFile = parsed.result; strCol = csvFile.table.getColumn('StrCol'); if (strCol) expect(strCol.toStringArray()).toEqual(['string1', 'string2']); intCol = csvFile.table.getColumn('IntCol'); if (intCol) expect(intCol.toIntArray()).toEqual([-1, 42]); floatCol = csvFile.table.getColumn('FloatCol'); if (floatCol) expect(floatCol.toFloatArray()).toEqual([-340.0, 2.44]); expect.assertions(3); return [2 /*return*/]; } }); }); }); }); //# sourceMappingURL=csv.spec.js.map