-
Notifications
You must be signed in to change notification settings - Fork 191
/
parsers-cif.test.js
54 lines (43 loc) · 1.86 KB
/
parsers-cif.test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
/**
*@jest-environment jsdom
*/
global.$ = require("jquery");
global.URL.createObjectURL = function () { };
let $3Dmol = require("../../build/3Dmol.js");
const fs = require('fs');
const path = require('path');
describe('Function cif | Input: multiple.cif | option: assignBonds |', () => {
const data = fs.readFileSync(path.resolve(__dirname, '../test_structs/multiple.cif'), 'utf-8')
let atoms = $3Dmol.Parsers.cif(data, {});
let atoms2 = $3Dmol.Parsers.cif(data, { assignBonds: false });
test("Atoms length is 98", () => {
expect(atoms.length).toBe(98);
});
test("Atoms should match the snapshot", () => {
expect(atoms).toMatchSnapshot();
});
test("Atoms bonds are empty when assignBonds is false", () => {
for (let i = 0; i < atoms2.length; i++) {
for (let j = 0; j < atoms2[0].length; j++) {
expect(atoms2[i][j].bonds).toEqual([]);
}
}
});
test("Atoms bondOrder are empty when assignBonds is false", () => {
for (let i = 0; i < atoms2.length; i++) {
for (let j = 0; j < atoms2[0].length; j++) {
expect(atoms2[i][j].bondOrder).toEqual([]);
}
}
});
test("Atoms should match the snapshot (assignBonds: false)", () => {
expect(atoms2).toMatchSnapshot();
});
});
describe('Function cif | Input: multiple.cif | option: duplicateAssemblyAtoms, dontConnectDuplicatedAtoms |', () => {
const data = fs.readFileSync(path.resolve(__dirname, '../test_structs/multiple.cif'), 'utf-8')
let atoms = $3Dmol.Parsers.cif(data, { duplicateAssemblyAtoms: true, dontConnectDuplicatedAtoms: false });
test("Atoms should match the snapshot (duplicateAssemblyAtoms:true, dontConnectDuplicatedAtoms:false)", () => {
expect(atoms).toMatchSnapshot();
});
});