From 3efece5a980ca2b3e948fcdce569a517be816704 Mon Sep 17 00:00:00 2001 From: Simon Bruder Date: Sat, 6 May 2023 22:56:17 +0200 Subject: [PATCH] u02: Replace fill test to use test shape --- u02/src/tests.cpp | 32 ++++++++++++++++++++------------ 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/u02/src/tests.cpp b/u02/src/tests.cpp index d2707a8..75064fe 100644 --- a/u02/src/tests.cpp +++ b/u02/src/tests.cpp @@ -182,7 +182,7 @@ TEST_CASE("Bresenham/DDA line tool (prop: for every row/column, only one pixel " REQUIRE(all_sums_are_one); } -TEST_CASE("Fill (recursive and non recursive) simple") { +TEST_CASE("Fill (recursive and non recursive) test shape") { canvas_buffer *canvas = new canvas_buffer(100, 100); bresenham_line_tool *tool_line = new bresenham_line_tool(*canvas); recursive_fill_tool *tool_fill_recursive = new recursive_fill_tool(*canvas); @@ -200,19 +200,27 @@ TEST_CASE("Fill (recursive and non recursive) simple") { break; } - tool_line->draw(10, 10, 30, 10); - tool_line->draw(10, 10, 20, 30); - tool_line->draw(20, 30, 30, 10); + canvas->draw_test_shape(); - tool_fill->draw(15, 15); + REQUIRE_FALSE(canvas->get_pixel(50, 49)); + REQUIRE_FALSE(canvas->get_pixel(50, 25)); + REQUIRE_FALSE(canvas->get_pixel(50, 75)); + tool_fill->draw(50, 25); + REQUIRE(canvas->get_pixel(50, 49)); + REQUIRE(canvas->get_pixel(50, 25)); + REQUIRE(canvas->get_pixel(50, 75)); - // just some samples, not very thorough - REQUIRE(canvas->get_pixel(15, 15)); - REQUIRE(canvas->get_pixel(20, 20)); - REQUIRE(canvas->get_pixel(25, 20)); - REQUIRE_FALSE(canvas->get_pixel(9, 9)); - REQUIRE_FALSE(canvas->get_pixel(30, 9)); - REQUIRE_FALSE(canvas->get_pixel(19, 30)); + REQUIRE_FALSE(canvas->get_pixel(75, 40)); + REQUIRE_FALSE(canvas->get_pixel(75, 60)); + tool_fill->draw(75, 50); + REQUIRE(canvas->get_pixel(75, 40)); + REQUIRE(canvas->get_pixel(75, 60)); + + REQUIRE_FALSE(canvas->get_pixel(0, 0)); + REQUIRE_FALSE(canvas->get_pixel(99, 99)); + tool_fill->draw(25, 50); + REQUIRE(canvas->get_pixel(0, 0)); + REQUIRE(canvas->get_pixel(99, 99)); } TEST_CASE("Fill recursive == Fill non recursive (prop, 5 random lines)") {