gtajesgenga-ami.js
Version:
1. [Hello AMI](#hello-ami) 2. [Features](#features) 3. [Usage](#yarn) 4. [Developer corner](#developer-corner) 5. [Change log](#change-log) 6. [Credits](#credits) 7. [Citations](#citations)
33 lines (26 loc) • 1.15 kB
text/typescript
import CoreColors from '../../src/core/core.colors';
describe('Core.Colors', () => {
it('should convert LAB to XYZ', () => {
// invalid input
let xyz = CoreColors.cielab2XYZ(0, 0, 0);
expect(xyz).toEqual([0, 0, 0]);
xyz = CoreColors.cielab2XYZ(100, 0, 0);
expect(Math.round(xyz[0] * 1000)).toEqual(95.047 * 1000);
expect(Math.round(xyz[1] * 1000)).toEqual(100.000 * 1000);
expect(Math.round(xyz[2] * 1000)).toEqual(108.883 * 1000);
xyz = CoreColors.cielab2XYZ(50, 0, 0);
expect(Math.round(xyz[0] * 1000)).toEqual(17.506 * 1000);
expect(Math.round(xyz[1] * 1000)).toEqual(18.419 * 1000);
expect(Math.round(xyz[2] * 1000)).toEqual(20.055 * 1000);
// not correct?
// xyz = CoreColors.cielab2XYZ(0, -128, 0);
// expect(xyz).toEqual([0, 0, 0]);
// not correct?
// xyz = CoreColors.cielab2XYZ(0, +128, 0);
// expect(xyz).toEqual([0, 0, 0]);
xyz = CoreColors.cielab2XYZ(64, -128, 0);
expect(Math.round(xyz[0] * 1000)).toEqual(7.751 * 1000);
expect(Math.round(xyz[1] * 1000)).toEqual(32.802 * 1000);
expect(Math.round(xyz[2] * 1000)).toEqual(35.715 * 1000);
});
});