import { Quaternion } from 'three' import { isQuaternionVertical } from '@src/clientSideScene/helpers' describe('isQuaternionVertical', () => { it('should identify vertical quaternions', () => { const verticalQuaternions = [ new Quaternion(1, 0, 0, 0).normalize(), // bottom new Quaternion(-0.7, 0.7, 0, 0).normalize(), // bottom 2 new Quaternion(0, 1, 0, 0).normalize(), // bottom 3 new Quaternion(0, 0, 0, 1).normalize(), // look from top ] verticalQuaternions.forEach((quaternion) => { expect(isQuaternionVertical(quaternion)).toBe(true) }) }) it('should identify non-vertical quaternions', () => { const nonVerticalQuaternions = [ new Quaternion(0.7, 0, 0, 0.7).normalize(), // front new Quaternion(0, 0.7, 0.7, 0).normalize(), // back new Quaternion(-0.5, 0.5, 0.5, -0.5).normalize(), // left side new Quaternion(0.5, 0.5, 0.5, 0.5).normalize(), // right side ] nonVerticalQuaternions.forEach((quaternion) => { expect(isQuaternionVertical(quaternion)).toBe(false) }) }) })