From 2343770c01c45b31738c9d87d5ef1f740fef70bf Mon Sep 17 00:00:00 2001 From: JM <crewgan@pop-os.localdomain> Date: Mon, 23 May 2022 16:01:15 +0200 Subject: [PATCH] Ajout test unitaire de force_in_screen --- src/field.h | 1 + src/field_tests.c | 45 ++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/src/field.h b/src/field.h index 4fb8f80..31cc3d9 100644 --- a/src/field.h +++ b/src/field.h @@ -28,6 +28,7 @@ bool line_reach_charge(vec2 pos, charge_t *charges, int num_charges, double dx); bool is_in_screen(coordinates_t pos); +void force_in_screen(coordinates_t *pos); void draw_everything( struct gfx_context_t *ctxt, diff --git a/src/field_tests.c b/src/field_tests.c index 5ac60a6..2eec404 100644 --- a/src/field_tests.c +++ b/src/field_tests.c @@ -168,8 +168,51 @@ test_result t_is_in_screen_0() return (test_result){.passed = passed, .name = "Test is_in_screen 0"}; } +test_result t_force_in_screen_0() +{ + bool passed = true; + + coordinates_t p[] = { + coordinates_create(99 / WID * 100, 1 / HEI * 100), + coordinates_create(50 / WID * 100, 50 / HEI * 100), + coordinates_create(1 / WID * 100, 99 / HEI * 100), + coordinates_create(WID, HEI), + coordinates_create(-1, HEI / 2), + coordinates_create(WID / 2, -1), + coordinates_create(-1, -1), + coordinates_create(WID + 10, HEI/2), + coordinates_create(WID / 2, HEI + 10), + coordinates_create(WID + 10, HEI + 10) + }; + coordinates_t p_results[] = { + coordinates_create(99 / WID * 100, 1 / HEI * 100), + coordinates_create(50 / WID * 100, 50 / HEI * 100), + coordinates_create(1 / WID * 100, 99 / HEI * 100), + coordinates_create(WID-1, HEI-1), + coordinates_create(0, HEI / 2), + coordinates_create(WID / 2, 0), + coordinates_create(0, 0), + coordinates_create(WID -1, HEI/2), + coordinates_create(WID / 2, HEI -1), + coordinates_create(WID -1, HEI -1) + }; + + uint32_t nb_tests = sizeof(p_results) / sizeof(coordinates_t); + + for (size_t i = 0; i < nb_tests; i++) + { + force_in_screen(&p[i]); + if(p[i].column != p_results[i].column || p[i].row != p_results[i].row){ + passed = false; + break; + } + } + + return (test_result){.passed = passed, .name = "Test is_in_screen 0"}; +} + // Add or remove your test function name here -const unit_test_t tests[] = {t_compute_e_0, t_compute_total_normalized_e_0, t_line_reach_charge_0, t_is_in_screen_0}; +const unit_test_t tests[] = {t_compute_e_0, t_compute_total_normalized_e_0, t_line_reach_charge_0, t_is_in_screen_0, t_force_in_screen_0}; int main() { -- GitLab