Files
SpotMicroESP32-Leika/app/tests/unit/number-convert.spec.ts
2026-01-02 22:56:14 +01:00

45 lines
1.2 KiB
TypeScript

import { describe, it, expect } from 'vitest'
import { toUint8, toInt8 } from '../../src/lib/utilities/math-utilities'
describe('toUint8', () => {
it('min interval value should get 0', () => {
expect(toUint8(-1, -1, 1)).toBe(0)
})
it('middle interval value should get 128', () => {
expect(toUint8(0, -1, 1)).toBe(128)
})
it('max interval value should get 255', () => {
expect(toUint8(1, -1, 1)).toBe(255)
})
it('min value should be clamped', () => {
expect(toUint8(-2, -1, 1)).toBe(0)
})
it('max value should be clamped', () => {
expect(toUint8(2, -1, 1)).toBe(255)
})
})
describe('toInt8', () => {
it('min interval value should get -128', () => {
expect(toInt8(-1, -1, 1)).toBe(-128)
})
it('middle interval value should get 0', () => {
expect(toInt8(0, -1, 1)).toBe(0)
})
it('max interval value should get 127', () => {
expect(toInt8(1, -1, 1)).toBe(127)
})
it('min value should be clamped', () => {
expect(toInt8(-2, -1, 1)).toBe(-128)
})
it('max value should be clamped', () => {
expect(toInt8(2, -1, 1)).toBe(127)
})
})