fix: process commands in tests after engine API calls

Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
This commit is contained in:
Loic Coenen
2026-05-01 15:06:49 +00:00
parent 32270aaddb
commit e405518942
2 changed files with 39 additions and 0 deletions

View File

@@ -86,6 +86,7 @@ void test_trigger_via_grid(void) {
// Simulate pressing 't' on grid position (3, 4) = clip 28
int clip_idx = 3 * 8 + 4;
engine_trigger_clip(engine, clip_idx);
engine_process_commands(engine);
assert(engine->clips[clip_idx].state == CLIP_RECORDING);
destroy_test_engine(engine);
@@ -104,6 +105,7 @@ void test_reset_via_grid(void) {
// Simulate pressing 'r'
engine_reset_clip(engine, clip_idx);
engine_process_commands(engine);
assert(engine->clips[clip_idx].state == CLIP_EMPTY);
assert(engine->clips[clip_idx].buffer_size == 0);
@@ -119,6 +121,7 @@ void test_scene_via_grid(void) {
// Simulate pressing 's' on row 3
int scene_index = 3;
engine_trigger_scene(engine, scene_index);
engine_process_commands(engine);
// All clips in scene 3 should be recording
for (int ch = 0; ch < MAX_CHANNELS; ch++) {
@@ -140,14 +143,17 @@ void test_quantize_cycling(void) {
// Cycle: OFF -> BEAT
engine_set_quantize_mode(engine, QUANTIZE_BEAT);
engine_process_commands(engine);
assert(engine->quantize_mode == QUANTIZE_BEAT);
// Cycle: BEAT -> BAR
engine_set_quantize_mode(engine, QUANTIZE_BAR);
engine_process_commands(engine);
assert(engine->quantize_mode == QUANTIZE_BAR);
// Cycle: BAR -> OFF
engine_set_quantize_mode(engine, QUANTIZE_OFF);
engine_process_commands(engine);
assert(engine->quantize_mode == QUANTIZE_OFF);
destroy_test_engine(engine);
@@ -164,10 +170,12 @@ void test_threshold_toggle(void) {
// Toggle to 1000
engine_set_quantize_threshold(engine, 1000);
engine_process_commands(engine);
assert(engine->quantize_threshold == 1000);
// Toggle back to 0
engine_set_quantize_threshold(engine, 0);
engine_process_commands(engine);
assert(engine->quantize_threshold == 0);
destroy_test_engine(engine);
@@ -188,6 +196,7 @@ void test_transport_reset_via_tui(void) {
// Simulate pressing 'x'
engine_reset_transport(engine);
engine_process_commands(engine);
assert(engine->transport.rolling == false);
assert(engine->transport.clock_count == 0);
@@ -332,6 +341,7 @@ void test_full_grid_coverage(void) {
for (int col = 0; col < 8; col++) {
int clip_idx = row * 8 + col;
engine_trigger_clip(engine, clip_idx);
engine_process_commands(engine);
assert(engine->clips[clip_idx].state == CLIP_RECORDING);
}
}
@@ -353,6 +363,7 @@ void test_scene_from_each_row(void) {
// Trigger scene from each row
for (int row = 0; row < 8; row++) {
engine_trigger_scene(engine, row);
engine_process_commands(engine);
// Verify all clips in this scene are recording
for (int ch = 0; ch < MAX_CHANNELS; ch++) {
@@ -373,12 +384,15 @@ void test_quantize_full_cycle(void) {
// Cycle through all modes twice
for (int cycle = 0; cycle < 2; cycle++) {
engine_set_quantize_mode(engine, QUANTIZE_OFF);
engine_process_commands(engine);
assert(engine->quantize_mode == QUANTIZE_OFF);
engine_set_quantize_mode(engine, QUANTIZE_BEAT);
engine_process_commands(engine);
assert(engine->quantize_mode == QUANTIZE_BEAT);
engine_set_quantize_mode(engine, QUANTIZE_BAR);
engine_process_commands(engine);
assert(engine->quantize_mode == QUANTIZE_BAR);
}
@@ -395,9 +409,11 @@ void test_multiple_threshold_toggles(void) {
for (int i = 0; i < 5; i++) {
if (engine->quantize_threshold == 0) {
engine_set_quantize_threshold(engine, 1000);
engine_process_commands(engine);
assert(engine->quantize_threshold == 1000);
} else {
engine_set_quantize_threshold(engine, 0);
engine_process_commands(engine);
assert(engine->quantize_threshold == 0);
}
}
@@ -420,6 +436,7 @@ void test_multiple_transport_resets(void) {
engine->transport.sample_position = 10000 * i;
engine_reset_transport(engine);
engine_process_commands(engine);
assert(engine->transport.rolling == false);
assert(engine->transport.clock_count == 0);