UNPKG

aseprite-atlas

Version:

Aseprite sprite atlas parser and animator for browser and Node.js.

307 lines (297 loc) 8.67 kB
import {NumberUtil} from './NumberUtil' describe('wrap()', () => { test.each( // prettier-ignore [ // Negative to zero range. [ -5 , -1, 0, -1 ], [ -4.5, -1, 0, -.5], [ -4 , -1, 0, -1 ], [ -3.5, -1, 0, -.5], [ -3 , -1, 0, -1 ], [ -2.5, -1, 0, -.5], [ -2 , -1, 0, -1 ], [ -1.5, -1, 0, -.5], [ -1 , -1, 0, -1 ], [ -.5, -1, 0, -.5], [ 0 , -1, 0, -1 ], [ .5, -1, 0, -.5], [ 1 , -1, 0, -1 ], [ 1.5, -1, 0, -.5], [ 2 , -1, 0, -1 ], [ 2.5, -1, 0, -.5], [ 3 , -1, 0, -1 ], [ 3.5, -1, 0, -.5], [ 4 , -1, 0, -1 ], [ 4.5, -1, 0, -.5], [ 5 , -1, 0, -1 ], // Zero to positive range. [ -5 , 0, 1, 0 ], [ -4.5, 0, 1, .5], [ -4 , 0, 1, 0 ], [ -3.5, 0, 1, .5], [ -3 , 0, 1, 0 ], [ -2.5, 0, 1, .5], [ -2 , 0, 1, 0 ], [ -1.5, 0, 1, .5], [ -1 , 0, 1, 0 ], [ -.5, 0, 1, .5], [ 0 , 0, 1, 0 ], [ .5, 0, 1, .5], [ 1 , 0, 1, 0 ], [ 1.5, 0, 1, .5], [ 2 , 0, 1, 0 ], [ 2.5, 0, 1, .5], [ 3 , 0, 1, 0 ], [ 3.5, 0, 1, .5], [ 4 , 0, 1, 0 ], [ 4.5, 0, 1, .5], [ 5 , 0, 1, 0 ], // Negative to positive range. [ -5 , -1, 1, -1 ], [ -4.5, -1, 1, -.5], [ -4 , -1, 1, 0 ], [ -3.5, -1, 1, .5], [ -3 , -1, 1, -1 ], [ -2.5, -1, 1, -.5], [ -2 , -1, 1, 0 ], [ -1.5, -1, 1, .5], [ -1 , -1, 1, -1 ], [ -.5, -1, 1, -.5], [ 0 , -1, 1, 0 ], [ .5, -1, 1, .5], [ 1 , -1, 1, -1 ], [ 1.5, -1, 1, -.5], [ 2 , -1, 1, 0 ], [ 2.5, -1, 1, .5], [ 3 , -1, 1, -1 ], [ 3.5, -1, 1, -.5], [ 4 , -1, 1, 0 ], [ 4.5, -1, 1, .5], [ 5 , -1, 1, -1 ], // Lesser negative range. [ -7 , -6, -4, -5 ], [ -6.5, -6, -4, -4.5], [ -6 , -6, -4, -6 ], [ -5.5, -6, -4, -5.5], [ -5 , -6, -4, -5 ], [ -4.5, -6, -4, -4.5], [ -4 , -6, -4, -6 ], [ -3.5, -6, -4, -5.5], [ -3 , -6, -4, -5 ], [ -2.5, -6, -4, -4.5], [ -2 , -6, -4, -6 ], [ -1.5, -6, -4, -5.5], [ -1 , -6, -4, -5 ], [ -.5, -6, -4, -4.5], [ 0 , -6, -4, -6 ], [ .5, -6, -4, -5.5], [ 1 , -6, -4, -5 ], [ 1.5, -6, -4, -4.5], [ 2 , -6, -4, -6 ], [ 2.5, -6, -4, -5.5], [ 3 , -6, -4, -5 ], [ 3.5, -6, -4, -4.5], [ 4 , -6, -4, -6 ], [ 4.5, -6, -4, -5.5], [ 5 , -6, -4, -5 ], [ 5.5, -6, -4, -4.5], [ 6 , -6, -4, -6 ], [ 6.5, -6, -4, -5.5], [ 7 , -6, -4, -5 ], // Negative range. [-10 , -3, -1, -2 ], [ -9.5, -3, -1, -1.5], [ -9 , -3, -1, -3 ], [ -8.5, -3, -1, -2.5], [ -8 , -3, -1, -2 ], [ -7.5, -3, -1, -1.5], [ -7 , -3, -1, -3 ], [ -6.5, -3, -1, -2.5], [ -6 , -3, -1, -2 ], [ -5.5, -3, -1, -1.5], [ -5 , -3, -1, -3 ], [ -4.5, -3, -1, -2.5], [ -4 , -3, -1, -2 ], [ -3.5, -3, -1, -1.5], [ -3 , -3, -1, -3 ], [ -2.5, -3, -1, -2.5], [ -2 , -3, -1, -2 ], [ -1.5, -3, -1, -1.5], [ -1 , -3, -1, -3 ], [ -.5, -3, -1, -2.5], [ 0 , -3, -1, -2 ], [ .5, -3, -1, -1.5], [ 1 , -3, -1, -3 ], [ 1.5, -3, -1, -2.5], [ 2 , -3, -1, -2 ], [ 2.5, -3, -1, -1.5], [ 3 , -3, -1, -3 ], [ 3.5, -3, -1, -2.5], [ 4 , -3, -1, -2 ], [ 4.5, -3, -1, -1.5], [ 5 , -3, -1, -3 ], // Positive range. [ -5 , 1, 3, 1 ], [ -4.5, 1, 3, 1.5], [ -4 , 1, 3, 2 ], [ -3.5, 1, 3, 2.5], [ -3 , 1, 3, 1 ], [ -2.5, 1, 3, 1.5], [ -2 , 1, 3, 2 ], [ -1.5, 1, 3, 2.5], [ -1 , 1, 3, 1 ], [ -.5, 1, 3, 1.5], [ 0 , 1, 3, 2 ], [ .5, 1, 3, 2.5], [ 1 , 1, 3, 1 ], [ 1.5, 1, 3, 1.5], [ 2 , 1, 3, 2 ], [ 2.5, 1, 3, 2.5], [ 3 , 1, 3, 1 ], [ 3.5, 1, 3, 1.5], [ 4 , 1, 3, 2 ], [ 4.5, 1, 3, 2.5], [ 5 , 1, 3, 1 ], // Greater positive range. [ -7 , 4, 6, 5 ], [ -6.5, 4, 6, 5.5], [ -6 , 4, 6, 4 ], [ -5.5, 4, 6, 4.5], [ -5 , 4, 6, 5 ], [ -4.5, 4, 6, 5.5], [ -4 , 4, 6, 4 ], [ -3.5, 4, 6, 4.5], [ -3 , 4, 6, 5 ], [ -2.5, 4, 6, 5.5], [ -2 , 4, 6, 4 ], [ -1.5, 4, 6, 4.5], [ -1 , 4, 6, 5 ], [ -.5, 4, 6, 5.5], [ 0 , 4, 6, 4 ], [ .5, 4, 6, 4.5], [ 1 , 4, 6, 5 ], [ 1.5, 4, 6, 5.5], [ 2 , 4, 6, 4 ], [ 2.5, 4, 6, 4.5], [ 3 , 4, 6, 5 ], [ 3.5, 4, 6, 5.5], [ 4 , 4, 6, 4 ], [ 4.5, 4, 6, 4.5], [ 5 , 4, 6, 5 ], [ 5.5, 4, 6, 5.5], [ 6 , 4, 6, 4 ], [ 6.5, 4, 6, 4.5], [ 7 , 4, 6, 5 ], // Even greater positive range. [ 88 , 90, 95, 93 ], [ 88.5, 90, 95, 93.5], [ 89 , 90, 95, 94 ], [ 89.5, 90, 95, 94.5], [ 90 , 90, 95, 90 ], [ 90.5, 90, 95, 90.5], [ 91 , 90, 95, 91 ], [ 91.5, 90, 95, 91.5], [ 92 , 90, 95, 92 ], [ 92.5, 90, 95, 92.5], [ 93 , 90, 95, 93 ], [ 93.5, 90, 95, 93.5], [ 94 , 90, 95, 94 ], [ 94.5, 90, 95, 94.5], [ 95 , 90, 95, 90 ], [ 95.5, 90, 95, 90.5], [ 96 , 90, 95, 91 ], [ 96.5, 90, 95, 91.5], [ 97 , 90, 95, 92 ], [ 97.5, 90, 95, 92.5], [ 98 , 90, 95, 93 ], [ 98.5, 90, 95, 93.5], [ 99 , 90, 95, 94 ], [ 99.5, 90, 95, 94.5], // Negative to positive range with many inputs. [-20 , -3, 3, -2 ], [-19.5, -3, 3, -1.5], [-19 , -3, 3, -1 ], [-18.5, -3, 3, -.5], [-18 , -3, 3, 0 ], [-17.5, -3, 3, .5], [-17 , -3, 3, 1 ], [-16.5, -3, 3, 1.5], [-16 , -3, 3, 2 ], [-15.5, -3, 3, 2.5], [-15 , -3, 3, -3 ], [-14.5, -3, 3, -2.5], [-14 , -3, 3, -2 ], [-13.5, -3, 3, -1.5], [-13 , -3, 3, -1 ], [-12.5, -3, 3, -.5], [-12 , -3, 3, 0 ], [-11.5, -3, 3, .5], [-11 , -3, 3, 1 ], [-10.5, -3, 3, 1.5], [-10 , -3, 3, 2 ], [ -9.5, -3, 3, 2.5], [ -9 , -3, 3, -3 ], [ -8.5, -3, 3, -2.5], [ -8 , -3, 3, -2 ], [ -7.5, -3, 3, -1.5], [ -7 , -3, 3, -1 ], [ -6.5, -3, 3, -.5], [ -6 , -3, 3, 0 ], [ -5.5, -3, 3, .5], [ -5 , -3, 3, 1 ], [ -4.5, -3, 3, 1.5], [ -4 , -3, 3, 2 ], [ -3.5, -3, 3, 2.5], [ -3 , -3, 3, -3 ], [ -2.5, -3, 3, -2.5], [ -2 , -3, 3, -2 ], [ -1.5, -3, 3, -1.5], [ -1 , -3, 3, -1 ], [ -.5, -3, 3, -.5], [ 0 , -3, 3, 0 ], [ .5, -3, 3, .5], [ 1 , -3, 3, 1 ], [ 1.5, -3, 3, 1.5], [ 2 , -3, 3, 2 ], [ 2.5, -3, 3, 2.5], [ 3 , -3, 3, -3 ], [ 3.5, -3, 3, -2.5], [ 4 , -3, 3, -2 ], [ 4.5, -3, 3, -1.5], [ 5 , -3, 3, -1 ], [ 5.5, -3, 3, -.5], [ 6 , -3, 3, 0 ], [ 6.5, -3, 3, .5], [ 7 , -3, 3, 1 ], [ 7.5, -3, 3, 1.5], [ 8 , -3, 3, 2 ], [ 8.5, -3, 3, 2.5], [ 9 , -3, 3, -3 ], [ 9.5, -3, 3, -2.5], [ 10 , -3, 3, -2 ], [ 10.5, -3, 3, -1.5], [ 11 , -3, 3, -1 ], [ 11.5, -3, 3, -.5], [ 12 , -3, 3, 0 ], [ 12.5, -3, 3, .5], [ 13 , -3, 3, 1 ], [ 13.5, -3, 3, 1.5], [ 14 , -3, 3, 2 ], [ 14.5, -3, 3, 2.5], [ 15 , -3, 3, -3 ], [ 15.5, -3, 3, -2.5], [ 16 , -3, 3, -2 ], [ 16.5, -3, 3, -1.5], [ 17 , -3, 3, -1 ], [ 17.5, -3, 3, -.5], [ 18 , -3, 3, 0 ], [ 18.5, -3, 3, .5], [ 19 , -3, 3, 1 ], [ 19.5, -3, 3, 1.5], [ 20 , -3, 3, 2 ] ] )('%#) %p wrap [%p,%p]', (x, min, max, expected) => expect(NumberUtil.wrap(x, min, max)).toStrictEqual(expected) ) })