diff --git a/src/field.h b/src/field.h
index 4fb8f804599c14198ce51f0280a013e53e3d6956..31cc3d9a74a3478f668c029e68766284bcaffb2b 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 5ac60a649974370c999a4bafed6a8aaa5deab681..2eec4041d7b8c124292bb912e85290354c1da83f 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()
 {