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[] = {
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);