diff options
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); +} |
