about summary refs log tree commit diff
path: root/__tests__/lib/numbers.test.ts
blob: be92d6c0f693d01a4b4b654b6a6d59596d670c5a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import {clamp} from '../../src/lib/numbers'

describe('clamp', () => {
  const inputs: [number, number, number][] = [
    [100, 0, 200],
    [100, 0, 100],
    [0, 0, 100],
    [100, 0, -1],
    [4, 1, 1],
    [100, -100, 0],
    [400, 100, -100],
    [70, -1, 1],
    [Infinity, Infinity, Infinity],
  ]
  const outputs = [100, 100, 0, -1, 1, 0, -100, 1, Infinity]

  it('correctly clamps any given number and range', () => {
    for (let i = 0; i < inputs.length; i++) {
      const input = inputs[i]
      const result = clamp(...input)
      expect(result).toEqual(outputs[i])
    }
  })
})