Skip to content

Commit

Permalink
Add test verifying bounds for FM pitch bend
Browse files Browse the repository at this point in the history
  • Loading branch information
rhargreaves committed Jun 30, 2024
1 parent 57b414e commit e1adc70
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
1 change: 1 addition & 0 deletions tests/unit/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ int main(void)
midi_test(test_midi_sets_synth_pitch_bend),
midi_test(test_midi_pitch_bends_down_an_octave),
midi_test(test_midi_pitch_bends_up_an_octave),
midi_test(test_midi_pitch_bends_up_an_octave_upper_freq_limit),
midi_test(test_midi_persists_pitch_bend_between_notes),
midi_test(test_midi_sets_psg_pitch_bend_down),
midi_test(test_midi_sets_psg_pitch_bend_up),
Expand Down
18 changes: 18 additions & 0 deletions tests/unit/test_midi_fm.c
Original file line number Diff line number Diff line change
Expand Up @@ -486,6 +486,24 @@ static void test_midi_pitch_bends_up_an_octave(UNUSED void** state)
}
}

static void test_midi_pitch_bends_up_an_octave_upper_freq_limit(
UNUSED void** state)
{
const u8 MIDI_PITCH_AS4 = 70;
const u16 SYNTH_FREQ_AS4 = 1146;
const u16 SYNTH_FREQ_C3 = 1286;

for (int chan = 0; chan <= MAX_FM_CHAN; chan++) {
expect_synth_pitch(chan, 4, SYNTH_FREQ_AS4);
expect_synth_volume_any();
expect_value(__wrap_synth_noteOn, channel, chan);
__real_midi_note_on(chan, MIDI_PITCH_AS4, MAX_MIDI_VOLUME);

expect_synth_pitch(chan, 4, SYNTH_FREQ_C3);
__real_midi_pitch_bend(chan, MIDI_PITCH_BEND_MAX); // up 2 st
}
}

static void test_midi_persists_pitch_bend_between_notes(UNUSED void** state)
{
for (int chan = 0; chan <= MAX_FM_CHAN; chan++) {
Expand Down

0 comments on commit e1adc70

Please sign in to comment.