@inglorious/utils
Version:
A set of general-purpose utility functions designed with functional programming principles in mind.
26 lines (18 loc) • 772 B
JavaScript
import { expect, test } from "vitest"
import { quaternion } from "./quaternion.js"
import { cos, pi, sin } from "./trigonometry.js"
test("it should return the quaternion for no rotation", () => {
const angle = 0
const expectedResult = [1, 0, 0, 0]
expect(quaternion(angle)).toStrictEqual(expectedResult)
})
test("it should return the quaternion for a rotation of pi/2", () => {
const angle = pi() / 2
const expectedResult = [cos(pi() / 4), 0, sin(pi() / 4), 0]
expect(quaternion(angle)).toStrictEqual(expectedResult)
})
test("it should return the quaternion for a rotation of negative pi/2", () => {
const angle = -pi() / 2
const expectedResult = [cos(-pi() / 4), -0, sin(-pi() / 4), -0]
expect(quaternion(angle)).toStrictEqual(expectedResult)
})