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()); } }