@xogeny/mat-parser
Version:
A parser for MATLAB v4 files
50 lines • 2.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const testing_1 = require("../src/testing");
const src_1 = require("../src");
describe("Test Dymola results processing", () => {
for (let i = 0; i < testing_1.files.length; i++) {
let filename = testing_1.files[i];
it("should parse signal names from '" + filename + "'", async () => {
let fullname = testing_1.sampleFile(filename);
let obs = src_1.blobReader(fullname);
let file = new src_1.MatFile(obs);
let handler = new src_1.DymolaSignalExtractor();
await file.parse(handler);
let names = Object.keys(handler.descriptions);
expect(names).toContain("Time");
expect(names.length).toEqual(testing_1.signals[filename].signals);
//expect(Object.keys(handler.descriptions).length).to.be.greaterThan(0);
});
it("should parse results from '" + filename + "'", async () => {
let fullname = testing_1.sampleFile(filename);
let obs = src_1.blobReader(fullname);
let file = new src_1.MatFile(obs);
let sig = testing_1.signals[filename];
expect(sig).not.toEqual(undefined);
let trajs = sig.trajs;
let finals = sig.finals;
let handler = new src_1.DymolaResultsExtractor(n => Object.keys(trajs).indexOf(n) >= 0, n => Object.keys(finals).indexOf(n) >= 0);
await file.parse(handler);
expect(Object.keys(handler.trajectories)).toEqual(Object.keys(trajs));
expect(Object.keys(handler.finals)).toEqual(Object.keys(finals));
Object.keys(trajs).forEach(key => {
let exp = trajs[key];
let t = handler.trajectories[key];
if (Array.isArray(t)) {
expect(t.length).toEqual(exp);
}
else {
expect(1).toEqual(exp);
}
});
Object.keys(finals).forEach(key => {
let exp = finals[key];
let val = handler.finals[key];
expect(val).not.toEqual(undefined);
expect(val).toEqual(exp);
});
});
}
});
//# sourceMappingURL=results.test.js.map