diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2026-02-19 13:30:45 +0100 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2026-02-19 13:30:45 +0100 |
| commit | e6d59a7b506f610b82340b62457f9dd9ad0cb53d (patch) | |
| tree | b83affc4789146822a9fdbda88402b87c5f0fa28 /tests/snake.c | |
| parent | e34239cf2bdb6bd810826b82c2a66873bd0881e2 (diff) | |
| download | snake.s-e6d59a7b506f610b82340b62457f9dd9ad0cb53d.tar.xz snake.s-e6d59a7b506f610b82340b62457f9dd9ad0cb53d.zip | |
feat: integrate basic CMocka tests
Diffstat (limited to 'tests/snake.c')
| -rw-r--r-- | tests/snake.c | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/snake.c b/tests/snake.c new file mode 100644 index 0000000..f4acc7e --- /dev/null +++ b/tests/snake.c @@ -0,0 +1,65 @@ +#include "suites.h" + +#include "snake.S" + +#include <cmocka.h> + + + +extern void snake_init(snake_t *self, int x, int y, int length); + +static void test_snake_init_sets_x([[maybe_unused]] void **state) { + // Arrange: + snake_t snake; + + // Act: + snake_init(&snake, 1, 2, 3); + + // Assert: + assert_int_equal(snake.x, 1); +} + +static void test_snake_init_sets_y([[maybe_unused]] void **state) { + // Arrange: + snake_t snake; + + // Act: + snake_init(&snake, 1, 2, 3); + + // Assert: + assert_int_equal(snake.y, 2); +} + +static void test_snake_init_sets_length([[maybe_unused]] void **state) { + // Arrange: + snake_t snake; + + // Act: + snake_init(&snake, 1, 2, 3); + + // Assert: + assert_int_equal(snake.length, 3); +} + +static void +test_snake_init_sets_direction_to_zero([[maybe_unused]] void **state) { + // Arrange: + snake_t snake; + + // Act: + snake_init(&snake, 1, 2, 3); + + // Assert: + assert_int_equal(snake.direction, 0); +} + +int run_snake_tests(void) { + struct CMUnitTest const tests[] = { + cmocka_unit_test(test_snake_init_sets_x), + cmocka_unit_test(test_snake_init_sets_y), + cmocka_unit_test(test_snake_init_sets_length), + cmocka_unit_test(test_snake_init_sets_direction_to_zero), + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +} |
