]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add tests fro bytes per line one range depth one
authorBastian Dehn <hhaalo@arcor.de>
Thu, 20 Nov 2025 20:27:13 +0000 (21:27 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Thu, 20 Nov 2025 20:29:19 +0000 (21:29 +0100)
tests/kds_s2000w_net_tests.c

index 1b0b5b8de44bbbf2c52f030855c9ca63a5878bb9..c6ec45e09e766de3757e9fd8368cee656a22fc72 100644 (file)
@@ -822,6 +822,34 @@ void kds_s2000w_net_get_select_fd_test()
        assert_int_equal(result, SANE_STATUS_UNSUPPORTED);
 }
 
+uint32_t _kds_s2000w_handler_calc_bytes_per_line(const metadata_t* params);
+
+void kds_s2000w_handler_depth_one_calc_bytes_per_line_test(const int pixel_per_line, const int depth, const int expected)
+{
+       metadata_t* params = malloc(sizeof(metadata_t));
+       if (params == NULL)
+               return;
+
+       params->last_frame = 1;
+       params->depth = depth;
+       params->format = 1;
+       params->lines = 1;
+       params->pixels_per_line = pixel_per_line;
+       params->bytes_per_line = _kds_s2000w_handler_calc_bytes_per_line(params);
+
+       assert_int_equal(params->bytes_per_line, expected);
+
+       free(params);
+       params = NULL;
+}
+
+void kds_s2000w_handler_depth_one_calc_bytes_per_line_tests()
+{
+       for (int i = 65; i < 73; i++) {
+               kds_s2000w_handler_depth_one_calc_bytes_per_line_test(i, 1, 27);
+       }
+}
+
 int main()
 {
        const struct CMUnitTest net_tests[] = {
@@ -849,7 +877,8 @@ int main()
                cmocka_unit_test(sane_kds_s2000w_net_cancel_completed_scan_flatbed_test),
                cmocka_unit_test(kds_s2000w_net_control_option_unsupported_test),
                cmocka_unit_test(kds_s2000w_net_set_io_mode_test),
-               cmocka_unit_test(kds_s2000w_net_get_select_fd_test)
+               cmocka_unit_test(kds_s2000w_net_get_select_fd_test),
+               cmocka_unit_test(kds_s2000w_handler_depth_one_calc_bytes_per_line_tests)
        };
 
        return cmocka_run_group_tests(net_tests, setup, teardown);