info = NULL;
}
+void kds_s2000w_net_set_option_fourground_boldness_mode_and_deps(void** state)
+{
+ int32_t* info = malloc(sizeof(int32_t));
+ if (info == NULL)
+ return;
+
+ response_t** responses = (response_t**) *state;
+ handler_t* h = kds_s2000w_handler_init();
+ h->profile = PROFILE_FULL;
+ *info = 0;
+
+ will_return(mock_response, responses[0]);
+ will_return(__wrap_kds_s2000w_client_get_option, 0);
+ will_return(mock_response, responses[1]);
+ will_return(__wrap_kds_s2000w_client_set_option, 0);
+ will_return(mock_response, responses[1]);
+ will_return(__wrap_kds_s2000w_client_set_option, 0);
+ expect_function_call(__wrap_kds_s2000w_client_get_option);
+ expect_function_call(__wrap_kds_s2000w_client_set_option);
+ expect_function_call(__wrap_kds_s2000w_client_set_option);
+
+ SANE_Status status = sane_kds_s2000w_net_control_option(h, 14, SANE_ACTION_SET_VALUE, "AutomaticAdvanced", info);
+
+ json_object* config = json_object_object_get(h->scanner_config, "Configuration");
+ json_object* value_object = json_object_object_get(config, FOREGROUND_BOLDNESS_MODE);
+ const char* value = json_object_get_string(value_object);
+
+ assert_int_equal(status, SANE_STATUS_GOOD);
+ assert_string_equal(value, "AutomaticAdvanced");
+ assert_int_equal(*info, SANE_INFO_RELOAD_OPTIONS);
+
+ kds_s2000w_handler_free(h);
+ h = NULL;
+ free(info);
+ info = NULL;
+}
+
int main()
{
const struct CMUnitTest net_tests[] = {
cmocka_unit_test_setup_teardown(kds_s2000w_net_set_invalid_option_int_test, setup_default_option, teardown_default_option),
cmocka_unit_test_setup_teardown(kds_s2000w_net_set_invalid_option_int_word_list_test, setup_default_option, teardown_default_option),
cmocka_unit_test_setup_teardown(kds_s2000w_net_set_option_cropping_mode_and_deps, setup_default_option, teardown_default_option),
- cmocka_unit_test_setup_teardown(kds_s2000w_net_set_option_cropping_image_and_deps, setup_default_option, teardown_default_option)
+ cmocka_unit_test_setup_teardown(kds_s2000w_net_set_option_cropping_image_and_deps, setup_default_option, teardown_default_option),
+ cmocka_unit_test_setup_teardown(kds_s2000w_net_set_option_fourground_boldness_mode_and_deps, setup_default_option, teardown_default_option)
};
return cmocka_run_group_tests(net_tests, NULL, NULL);