tests_image_spacing.test.js
import {Spacing} from '../../src/image/spacing';
/**
* Tests for the 'image/spacing.js' file.
*/
/* global QUnit */
QUnit.module('image');
/**
* Tests for {@link Spacing}.
*
* @function module:tests/image~spacing-class
*/
QUnit.test('Spacing class', function (assert) {
// bad input
assert.throws(function () {
new Spacing();
},
new Error('Cannot create spacing with no values.'),
'spacing with undef values array.');
assert.throws(function () {
new Spacing(null);
},
new Error('Cannot create spacing with no values.'),
'spacing with null values array.');
assert.throws(function () {
new Spacing([]);
},
new Error('Cannot create spacing with empty values.'),
'spacing with empty values array.');
assert.throws(function () {
new Spacing([2, 2, 0]);
},
new Error('Cannot create spacing with non number or zero values.'),
'spacing with zero values.');
assert.throws(function () {
new Spacing([2, undefined, 2]);
},
new Error('Cannot create spacing with non number or zero values.'),
'spacing with undef values.');
assert.throws(function () {
new Spacing([2, 'a', 2]);
},
new Error('Cannot create spacing with non number or zero values.'),
'spacing with string values.');
const spacing01 = new Spacing([2, 3, 4]);
// test its values
assert.equal(spacing01.get(0), 2, 'getColumnSpacing');
assert.equal(spacing01.get(1), 3, 'getRowSpacing');
assert.equal(spacing01.get(2), 4, 'getSliceSpacing');
// equality
assert.equal(spacing01.equals(null), false, 'equals null false');
assert.equal(spacing01.equals(), false, 'equals undefined false');
const spacing02 = new Spacing([2, 3]);
assert.equal(spacing01.equals(spacing02), false,
'equals different length false');
assert.equal(spacing01.equals(spacing01), 1, 'equals self true');
const spacing03 = new Spacing([2, 3, 4]);
assert.equal(spacing01.equals(spacing03), 1, 'equals true');
const spacing04 = new Spacing([3, 3, 4]);
assert.equal(spacing01.equals(spacing04), 0, 'equals false');
});