This commit is contained in:
Rorikstr | Rust Dev 2025-10-19 19:56:50 +03:00
parent 218ee65e67
commit ef7b492b24
8 changed files with 355 additions and 18 deletions

62
src/test/test_score.c Normal file
View file

@ -0,0 +1,62 @@
#include <check.h>
#include "test_helper.h"
START_TEST(test_level_up) {
test_setup();
GameState_t* state = get_game_state();
// Набираем 700 очков
fill_line(FIELD_HEIGHT - 1);
clear_lines(); // +100
fill_line(FIELD_HEIGHT - 1);
fill_line(FIELD_HEIGHT - 2);
clear_lines(); // +300 = 400
fill_line(FIELD_HEIGHT - 1);
fill_line(FIELD_HEIGHT - 2);
clear_lines(); // +300 = 700
ck_assert_int_eq(state->info->level, 2);
}
END_TEST
START_TEST(test_max_level) {
test_setup();
GameState_t* state = get_game_state();
state->info->score = 10000;
fill_line(FIELD_HEIGHT - 1);
clear_lines();
ck_assert_int_le(state->info->level, 10);
}
END_TEST
START_TEST(test_high_score_save) {
save_high_score(9999);
ck_assert_int_eq(load_high_score(), 9999);
}
END_TEST
START_TEST(test_game_over_top) {
test_setup();
GameState_t* state = get_game_state();
state->field[0][5] = 2;
ck_assert_int_eq(is_game_over(), 1);
}
END_TEST
Suite* score_suite(void) {
Suite* s = suite_create("Score");
TCase* tc = tcase_create("Core");
tcase_add_test(tc, test_level_up);
tcase_add_test(tc, test_max_level);
tcase_add_test(tc, test_high_score_save);
tcase_add_test(tc, test_game_over_top);
suite_add_tcase(s, tc);
return s;
}