diff --git a/tests/domain/runtime-audio-system.test.ts b/tests/domain/runtime-audio-system.test.ts new file mode 100644 index 00000000..198cd2f4 --- /dev/null +++ b/tests/domain/runtime-audio-system.test.ts @@ -0,0 +1,14 @@ +import { describe, expect, it } from "vitest"; + +import { computeSoundEmitterDistanceGain } from "../../src/runtime-three/runtime-audio-system"; + +describe("computeSoundEmitterDistanceGain", () => { + it("keeps full volume near the emitter and eases smoothly to silence at max distance", () => { + expect(computeSoundEmitterDistanceGain(4, 6, 24)).toBe(1); + expect(computeSoundEmitterDistanceGain(6, 6, 24)).toBe(1); + expect(computeSoundEmitterDistanceGain(12, 6, 24)).toBeGreaterThan(2 / 3); + expect(computeSoundEmitterDistanceGain(18, 6, 24)).toBeLessThan(1 / 3); + expect(computeSoundEmitterDistanceGain(24, 6, 24)).toBe(0); + expect(computeSoundEmitterDistanceGain(30, 6, 24)).toBe(0); + }); +});