Files
portifolio-evandrodevbr/lib/jogo/alavanca.test.ts
T
evandro 67b32fcab3
CI / audit (push) Successful in 10m48s
CI / verify (push) Successful in 19m2s
CI / deploy (push) Successful in 2m14s
CI / e2e (push) Failing after 36m15s
feat(jogo): expediente dos mortos, jogo de zumbis em primeira pessoa
Etapa 1 inteira (logica com 100% de cobertura, cena 3D, toque, sons, bancada de desempenho, e2e) e a base da etapa 2 (mapa novo no Tiled, texturas, imagens dos itens, sons conferidos, golpe recortado e medido). Pagina /jogo fora do menu e do sitemap ate a medicao no celular.
2026-11-10 19:37:10 -03:00

28 lines
831 B
TypeScript

import { alavanca } from "./alavanca";
describe("alavanca", () => {
it("fica parada dentro da zona morta", () => {
expect(alavanca(4, -4, 56)).toEqual([0, 0]);
expect(alavanca(0, 0, 56)).toEqual([0, 0]);
});
it("empurrar para cima anda para a frente", () => {
const [x, y] = alavanca(0, -28, 56);
expect(x).toBeCloseTo(0);
expect(y).toBeCloseTo(0.5);
});
it("empurrar para baixo e para a direita anda para trás e para a direita", () => {
const [x, y] = alavanca(28, 28, 56);
expect(x).toBeCloseTo(0.5);
expect(y).toBeCloseTo(-0.5);
});
it("limita o comprimento a 1, mantendo a direção", () => {
const [x, y] = alavanca(-300, -300, 56);
expect(Math.hypot(x, y)).toBeCloseTo(1);
expect(x).toBeCloseTo(-Math.SQRT1_2);
expect(y).toBeCloseTo(Math.SQRT1_2);
});
});