WIP
This commit is contained in:
parent
34ac200437
commit
39b0160064
136 changed files with 7129 additions and 1950 deletions
48
src/audio/garden-audio-energy.test.ts
Normal file
48
src/audio/garden-audio-energy.test.ts
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
import { describe, expect, it } from 'vitest';
|
||||
|
||||
import { GardenAudioEnergy } from './garden-audio-energy';
|
||||
|
||||
describe('GardenAudioEnergy', () => {
|
||||
it('suspends activity but keeps a fading level when the gesture ends', () => {
|
||||
const energy = new GardenAudioEnergy();
|
||||
|
||||
energy.beginGesture(0);
|
||||
energy.recordStroke(0.8, 0.1);
|
||||
energy.update(0.1);
|
||||
energy.update(0.2);
|
||||
|
||||
const levelBeforeLift = energy.getLevel();
|
||||
expect(energy.getActivity()).toBeGreaterThan(0);
|
||||
|
||||
energy.endGesture();
|
||||
|
||||
expect(energy.getActivity()).toBe(0);
|
||||
expect(energy.getLevel()).toBe(levelBeforeLift);
|
||||
energy.update(0.3);
|
||||
expect(energy.getLevel()).toBeLessThan(levelBeforeLift);
|
||||
expect(energy.getLevel()).toBeGreaterThan(0);
|
||||
});
|
||||
|
||||
it('uses recent stroke intensity rather than gesture duration alone', () => {
|
||||
const energy = new GardenAudioEnergy();
|
||||
|
||||
energy.beginGesture(0);
|
||||
energy.recordStroke(1, 0.1);
|
||||
energy.update(0.1);
|
||||
energy.update(0.2);
|
||||
const activeLevel = energy.getActivity();
|
||||
|
||||
energy.update(1.2);
|
||||
|
||||
expect(energy.getActivity()).toBeLessThan(activeLevel);
|
||||
});
|
||||
|
||||
it('raises activity immediately when a stroke is recorded', () => {
|
||||
const energy = new GardenAudioEnergy();
|
||||
|
||||
energy.beginGesture(0);
|
||||
energy.recordStroke(0.12, 0.05);
|
||||
|
||||
expect(energy.getActivity()).toBeGreaterThan(0.09);
|
||||
});
|
||||
});
|
||||
Loading…
Reference in a new issue