From 5ed09a0b76b7643e01bcf91c820aa39fb9bc5bdc Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sat, 17 Feb 2024 08:48:09 +0100 Subject: [PATCH] add test for first read params --- tests/kds_s2000w_net_get_params_tests.c | 44 ++++++++++++++++++++++++- tests/kds_s2000w_net_read_tests.c | 10 ------ tests/runtests.c | 23 +++++++++++++ 3 files changed, 66 insertions(+), 11 deletions(-) diff --git a/tests/kds_s2000w_net_get_params_tests.c b/tests/kds_s2000w_net_get_params_tests.c index 48907b5..855d73a 100644 --- a/tests/kds_s2000w_net_get_params_tests.c +++ b/tests/kds_s2000w_net_get_params_tests.c @@ -1,7 +1,6 @@ #include #include #include -#include "../src/kds_s2000w_handler.h" START_TEST(kds_s2000w_net_get_parameters_defaults) { @@ -19,4 +18,47 @@ START_TEST(kds_s2000w_net_get_parameters_defaults) free(params); params = NULL; } +END_TEST + +START_TEST(kds_s2000w_net_get_parameters_invalid_metdata) +{ + readinfo* read_info = get_read_info(); + read_info->scan_started = 1; + mdata.valid = 0; + SANE_Parameters* params = malloc(sizeof(SANE_Parameters)); + + SANE_Status status = _sane_kds_s2000w_net_get_parameters(NULL, params); + + ck_assert_int_eq(status, SANE_STATUS_UNSUPPORTED); + + free(params); + params = NULL; +} +END_TEST + +START_TEST(kds_s2000w_net_get_parameters_first_scan_params) +{ + readinfo* read_info = get_read_info(); + read_info->scan_started = 1; + mdata.valid = 1; + mdata.format = 1; + mdata.is_last = 1; + mdata.bytes_per_line = 50; + mdata.pixels_per_line = 100; + mdata.lines = 32; + mdata.depth = 8; + SANE_Parameters* params = malloc(sizeof(SANE_Parameters)); + + _sane_kds_s2000w_net_get_parameters(NULL, params); + + ck_assert_int_eq(params->format, 1); + ck_assert_int_eq(params->last_frame, 1); + ck_assert_int_eq(params->bytes_per_line, 50); + ck_assert_int_eq(params->pixels_per_line, 100); + ck_assert_int_eq(params->lines, 32); + ck_assert_int_eq(params->depth, 8); + + free(params); + params = NULL; +} END_TEST \ No newline at end of file diff --git a/tests/kds_s2000w_net_read_tests.c b/tests/kds_s2000w_net_read_tests.c index 9640664..e7065f2 100644 --- a/tests/kds_s2000w_net_read_tests.c +++ b/tests/kds_s2000w_net_read_tests.c @@ -1,16 +1,6 @@ #include #include #include -#include "../src/kds_s2000w_handler.h" -#define kds_s2000w_handler_stop_scan void_mock -#define kds_s2000w_handler_close void_mock -#define kds_s2000w_handler_open state_mock -current_state* state_mock() { return NULL; } -void void_mock() {} -#include "../src/kds_s2000w_net.c" -#undef kds_s2000w_handler_stop_scan -#undef kds_s2000w_handler_close -#undef kds_s2000w_handler_open START_TEST(sane_kds_s2000w_net_find_first_data_byte_test) { diff --git a/tests/runtests.c b/tests/runtests.c index 7f79d74..5043b43 100644 --- a/tests/runtests.c +++ b/tests/runtests.c @@ -1,4 +1,25 @@ #include +#include "../src/kds_s2000w_handler.h" + +metadata mdata; + +#define sleep no_sleep +#define kds_s2000w_handler_get_parameters mock_get_params +#define kds_s2000w_handler_stop_scan void_mock +#define kds_s2000w_handler_close void_mock +#define kds_s2000w_handler_open state_mock +uint no_sleep(uint secondes) {} +metadata mock_get_params() { + return mdata; +} +current_state* state_mock() { return NULL; } +void void_mock() {} +#include "../src/kds_s2000w_net.c" +#undef kds_s2000w_handler_stop_scan +#undef kds_s2000w_handler_close +#undef kds_s2000w_handler_open +#undef kds_s2000w_handler_get_parameters +#undef sleep #include "kds_s2000w_net_read_tests.c" #include "kds_s2000w_net_get_params_tests.c" @@ -23,6 +44,8 @@ Suite* get_params() TCase* net_get_params = tcase_create("get parameters"); tcase_add_test(net_get_params, kds_s2000w_net_get_parameters_defaults); + tcase_add_test(net_get_params, kds_s2000w_net_get_parameters_invalid_metdata); + tcase_add_test(net_get_params, kds_s2000w_net_get_parameters_first_scan_params); suite_add_tcase(get_params, net_get_params); return get_params; -- 2.39.5