e) {     //Arrange     CGatewayMocks mocks;      setup_0module_gw(mocks, (char *)VALID_JSON_PATH);      // modules array     setup_parse_modules_entry(mocks, 0, "module0");     setup_parse_modules_entry(mocks, 0, "module0");      // links entry     STRICT_EXPECTED_CALL(mocks, VECTOR_create(sizeof(GATEWAY_LINK_ENTRY)));     STRICT_EXPECTED_CALL(mocks, json_array_get_count(IGNORED_PTR_ARG))         .IgnoreArgument(0)         .SetReturn(0);      setup_links_entry(mocks, 0, "module0", "module0");     setup_links_entry(mocks, 0, "module0", "module0");       STRICT_EXPECTED_CALL(mocks, gballoc_malloc(sizeof(GATEWAY_HANDLE_DATA)));     STRICT_EXPECTED_CALL(mocks, Broker_Create());     STRICT_EXPECTED_CALL(mocks, VECTOR_create(sizeof(MODULE_DATA*)));     STRICT_EXPECTED_CALL(mocks, VECTOR_create(sizeof(LINK_DATA)));     STRICT_EXPECTED_CALL(mocks, VECTOR_size(IGNORED_PTR_ARG))         .IgnoreArgument(0);      //Adding module 0 (Success)     add_a_module(mocks, 0);     //Adding module 0 (Success)     add_a_module(mocks, 0);      //process the links     STRICT_EXPECTED_CALL(mocks, VECTOR_size(IGNORED_PTR_ARG))         .IgnoreArgument(0);     add_a_link(mocks, 0);     add_a_link(mocks, 0);       //Gateway start        STRICT_EXPECTED_CALL(mocks, EventSystem_Init());        STRICT_EXPECTED_CALL(mocks, EventSystem_ReportEvent(IGNORED_PTR_ARG, IGNORED_PTR_ARG, GATEWAY_CREATED))            .IgnoreArgument(0)            .IgnoreArgument(0);        STRICT_EXPECTED_CALL(mocks, EventSystem_ReportEvent(IGNORED_PTR_ARG, IGNORED_PTR_ARG, GATEWAY_MODULE_LIST_CHANGED))            .IgnoreArgument(0)            .IgnoreArgument(0);        STRICT_EXPECTED_CALL(mocks, Gateway_Start(IGNORED_PTR_ARG))            .IgnoreArgument(0);        STRICT_EXPECTED_CALL(mocks, VECTOR_size(IGNORED_PTR_ARG))            .IgnoreArgument(0);        STRICT_EXPECTED_CALL(mocks, VECTOR_element(IGNORED_PTR_ARG, 0))            .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, DynamicModuleLoader_FreeEntrypoint(IGNORED_PTR_ARG, IGNORED_PTR_ARG))      .IgnoreArgument(0)            .IgnoreArgument(0);        STRICT_EXPECTED_CALL(mocks, json_free_serialized_string((char*)"[serialized string]"));        STRICT_EXPECTED_CALL(mocks, VECTOR_element(IGNORED_PTR_ARG, 0))            .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, DynamicModuleLoader_FreeEntrypoint(IGNORED_PTR_ARG, IGNORED_PTR_ARG))      .IgnoreArgument(0)            .IgnoreArgument(0);        STRICT_EXPECTED_CALL(mocks, json_free_serialized_string((char*)"[serialized string]"));        STRICT_EXPECTED_CALL(mocks, VECTOR_destroy(IGNORED_PTR_ARG))            .IgnoreArgument(0);        STRICT_EXPECTED_CALL(mocks, VECTOR_destroy(IGNORED_PTR_ARG))            .IgnoreArgument(0);        STRICT_EXPECTED_CALL(mocks, gballoc_free(IGNORED_PTR_ARG))            .IgnoreArgument(0);        STRICT_EXPECTED_CALL(mocks, json_value_free(IGNORED_PTR_ARG))           .IgnoreArgument(0);      //Act     GATEWAY_HANDLE gateway = Gateway_CreateFromJson(VALID_JSON_PATH);      //Assert     ASSERT_IS_NOT_NULL(gateway);     mocks.AssertActualAndExpectedCalls();      //Cleanup     gateway_destroy_internal(gateway); }  /