utils.tests.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* global QUnit */
  2. import { arrayMin, arrayMax, getTypedArray } from '../../../src/utils.js';
  3. QUnit.module( 'utils', () => {
  4. QUnit.test( 'arrayMin', ( assert ) => {
  5. assert.equal( arrayMin( [] ), Infinity, 'Empty array return positive infinit' );
  6. assert.equal( arrayMin( [ 5 ] ), 5, 'Single valued array should return the unique value as minimum' );
  7. assert.equal( arrayMin( [ 1, 5, 10 ] ), 1, 'The array [ 1, 5, 10 ] return 1' );
  8. assert.equal( arrayMin( [ 5, 1, 10 ] ), 1, 'The array [ 5, 1, 10 ] return 1' );
  9. assert.equal( arrayMin( [ 10, 5, 1 ] ), 1, 'The array [ 10, 5, 1 ] return 1' );
  10. assert.equal( arrayMax( [ - 0, 0 ] ), - 0, 'The array [ - 0, 0 ] return -0' );
  11. assert.equal( arrayMin( [ - Infinity, 0, Infinity ] ), - Infinity, 'The array [ - Infinity, 0, Infinity ] return -Infinity' );
  12. } );
  13. QUnit.test( 'arrayMax', ( assert ) => {
  14. assert.equal( arrayMax( [] ), - Infinity, 'Empty array return negative infinit' );
  15. assert.equal( arrayMax( [ 5 ] ), 5, 'Single valued array should return the unique value as maximum' );
  16. assert.equal( arrayMax( [ 10, 5, 1 ] ), 10, 'The array [ 10, 5, 1 ] return 10' );
  17. assert.equal( arrayMax( [ 1, 10, 5 ] ), 10, 'The array [ 1, 10, 5 ] return 10' );
  18. assert.equal( arrayMax( [ 1, 5, 10 ] ), 10, 'The array [ 1, 5, 10 ] return 10' );
  19. assert.equal( arrayMax( [ - 0, 0 ] ), 0, 'The array [ - 0, 0 ] return 0' );
  20. assert.equal( arrayMax( [ - Infinity, 0, Infinity ] ), Infinity, 'The array [ - Infinity, 0, Infinity ] return Infinity' );
  21. } );
  22. QUnit.test( 'getTypedArray', ( assert ) => {
  23. assert.ok( getTypedArray( 'Int8Array', new ArrayBuffer() ) instanceof Int8Array, 'Int8Array' );
  24. assert.ok( getTypedArray( 'Uint8Array', new ArrayBuffer() ) instanceof Uint8Array, 'Uint8Array' );
  25. assert.ok( getTypedArray( 'Uint8ClampedArray', new ArrayBuffer() ) instanceof Uint8ClampedArray, 'Uint8ClampedArray' );
  26. assert.ok( getTypedArray( 'Int16Array', new ArrayBuffer() ) instanceof Int16Array, 'Int16Array' );
  27. assert.ok( getTypedArray( 'Uint16Array', new ArrayBuffer() ) instanceof Uint16Array, 'Uint16Array' );
  28. assert.ok( getTypedArray( 'Int32Array', new ArrayBuffer() ) instanceof Int32Array, 'Int32Array' );
  29. assert.ok( getTypedArray( 'Uint32Array', new ArrayBuffer() ) instanceof Uint32Array, 'Uint32Array' );
  30. assert.ok( getTypedArray( 'Float32Array', new ArrayBuffer() ) instanceof Float32Array, 'Float32Array' );
  31. assert.ok( getTypedArray( 'Float64Array', new ArrayBuffer() ) instanceof Float64Array, 'Float64Array' );
  32. } );
  33. } );