From: Bastian Dehn Date: Sun, 23 Feb 2025 11:03:12 +0000 (+0100) Subject: add max value tests calc inch pixel X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=55a016ff93606794e62ee9b4b74a56a991359e56;p=sane-kds-s2000w-net.git add max value tests calc inch pixel --- diff --git a/src/kds_s2000w_handler_opts_calc.c b/src/kds_s2000w_handler_opts_calc.c index 891bd27..40f4039 100644 --- a/src/kds_s2000w_handler_opts_calc.c +++ b/src/kds_s2000w_handler_opts_calc.c @@ -4,12 +4,12 @@ int32_t kds_s2000w_handler_opts_calc_inch_to_pixel(int32_t dpi, int32_t inch) { - return inch / INCH_RESOLUTION * dpi; + return inch * dpi / INCH_RESOLUTION; } int32_t kds_s2000w_handler_opts_calc_pixel_to_inch(int32_t dpi, int32_t pixel) { - return pixel / dpi * INCH_RESOLUTION; + return pixel * INCH_RESOLUTION / dpi; } int32_t kds_s2000w_handler_opts_calc_pixel_quant(int32_t dpi) diff --git a/tests/kds_s2000w_handler_opts_calc_tests.c b/tests/kds_s2000w_handler_opts_calc_tests.c index 4aa78d0..d721c10 100644 --- a/tests/kds_s2000w_handler_opts_calc_tests.c +++ b/tests/kds_s2000w_handler_opts_calc_tests.c @@ -2,29 +2,49 @@ void kds_s2000w_handler_opts_calc_inch_to_pixel_test() { - int32_t dpi = 300; + int32_t dpi = 200; int32_t inch = 10; int32_t pixel = kds_s2000w_handler_opts_calc_inch_to_pixel(dpi, inch); - assert_int_equal(pixel, 300); + assert_int_equal(pixel, 200); +} + +void kds_s2000w_handler_opts_calc_inch_to_pixel_max_x_value_test() +{ + int32_t dpi = 200; + int32_t inch = 75; + + int32_t pixel = kds_s2000w_handler_opts_calc_inch_to_pixel(dpi, inch); + + assert_int_equal(pixel, 1500); } void kds_s2000w_handler_opts_calc_pixel_to_inch_test() { - int32_t dpi = 300; - int32_t pixel = 300; + int32_t dpi = 200; + int32_t pixel = 200; int32_t inch = kds_s2000w_handler_opts_calc_pixel_to_inch(dpi, pixel); assert_int_equal(inch, 10); } +void kds_s2000w_handler_opts_calc_pixel_to_inch_max_x_value_test() +{ + int32_t dpi = 200; + int32_t pixel = 1500; + + int32_t inch = kds_s2000w_handler_opts_calc_pixel_to_inch(dpi, pixel); + + assert_int_equal(inch, 75); +} + void kds_s2000w_handler_opts_calc_pixel_quant_test() { - int32_t dpi = 300; + int32_t dpi = 200; int32_t pixel_quant = kds_s2000w_handler_opts_calc_pixel_quant(dpi); - assert_int_equal(pixel_quant, 30); + assert_int_equal(pixel_quant, 20); } \ No newline at end of file diff --git a/tests/kds_s2000w_handler_opts_calc_tests.h b/tests/kds_s2000w_handler_opts_calc_tests.h index f21a5d1..2276083 100644 --- a/tests/kds_s2000w_handler_opts_calc_tests.h +++ b/tests/kds_s2000w_handler_opts_calc_tests.h @@ -8,7 +8,9 @@ #include "../src/kds_s2000w_handler_opts_calc.h" void kds_s2000w_handler_opts_calc_inch_to_pixel_test(); +void kds_s2000w_handler_opts_calc_inch_to_pixel_max_x_value_test(); void kds_s2000w_handler_opts_calc_pixel_to_inch_test(); +void kds_s2000w_handler_opts_calc_pixel_to_inch_max_x_value_test(); void kds_s2000w_handler_opts_calc_pixel_quant_test(); #endif \ No newline at end of file diff --git a/tests/kds_s2000w_handler_opts_calc_tests_run.c b/tests/kds_s2000w_handler_opts_calc_tests_run.c index 8e05021..a1e8eef 100644 --- a/tests/kds_s2000w_handler_opts_calc_tests_run.c +++ b/tests/kds_s2000w_handler_opts_calc_tests_run.c @@ -4,7 +4,9 @@ int main() { const struct CMUnitTest opts_calc_tests[] = { cmocka_unit_test(kds_s2000w_handler_opts_calc_inch_to_pixel_test), + cmocka_unit_test(kds_s2000w_handler_opts_calc_inch_to_pixel_max_x_value_test), cmocka_unit_test(kds_s2000w_handler_opts_calc_pixel_to_inch_test), + cmocka_unit_test(kds_s2000w_handler_opts_calc_pixel_to_inch_max_x_value_test), cmocka_unit_test(kds_s2000w_handler_opts_calc_pixel_quant_test) };