crystcif-parse
Version:
A parser for crystallographic CIF files
28 lines (26 loc) • 999 B
JavaScript
;
var expect = require('chai').expect;
var utils = require('../lib/utils.js');
describe('#utils', function() {
it('should correctly compute a unit vector', function() {
var v = [0, 3, 4];
var u = utils.unit(v);
expect(u).to.eql([0, 3 / 5, 4 / 5]);
});
it('should correctly verify multiple elements', function() {
var a = utils.includesAll([1, 2, 3, 4], [1, 2]);
expect(a).to.be.true;
var a = utils.includesAll([1, 2, 3, 4], [1, 5]);
expect(a).to.be.false;
});
it('should correctly reduce vectors to modulo 1', function() {
var v = [1.2, 0.5, -3.4];
var u = utils.mod1(v);
for (var i = 0; i < 3; ++i)
expect(u[i]).to.be.closeTo([0.2, 0.5, 0.6][i], 1e-5);
});
it('should correctly find the shortest periodic length of a [0,1[^3 vector', function() {
var v = [0.3, 0.6, 0.0];
expect(utils.shortestPeriodicLength(v)).to.be.closeTo(0.5, 1e-5);
});
})