Завершить инженерный кандидат Stage 5

This commit is contained in:
2026-08-19 02:04:45 +03:00
parent b840684ef3
commit cde886ca96
45 changed files with 3236 additions and 98 deletions
@@ -0,0 +1,31 @@
package com.projectsacrifice.game;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import org.junit.Test;
public final class AudioCueSequencerTest {
@Test
public void multiVariantDeathVoicesNeverRepeatImmediately() {
AudioCueSequencer sequencer = new AudioCueSequencer(17L);
int previous = sequencer.nextVariant(AudioCue.DEATH_VOICE);
for (int i = 0; i < 30; i++) {
int next = sequencer.nextVariant(AudioCue.DEATH_VOICE);
assertNotEquals(previous, next);
previous = next;
}
}
@Test
public void singleVariantCuesRemainStableAndChannelsAreExplicit() {
AudioCueSequencer sequencer = new AudioCueSequencer(9L);
assertEquals(0, sequencer.nextVariant(AudioCue.UI_TAP));
assertEquals(0, sequencer.nextVariant(AudioCue.UI_TAP));
assertEquals(AudioCue.Channel.EFFECTS, AudioCue.JUMP.channel());
assertEquals(AudioCue.Channel.VOICE, AudioCue.DEATH_VOICE.channel());
assertEquals(AudioCue.Channel.MUSIC, AudioCue.MUSIC_PULSE.channel());
}
}