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");     STRICT_EXPECTED_CALL(mocks, json_array_get_object(IGNORED_PTR_ARG, 0))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, json_object_get_string(IGNORED_PTR_ARG, "source"))         .IgnoreArgument(0)         .SetReturn(nullptr);     STRICT_EXPECTED_CALL(mocks, json_object_get_string(IGNORED_PTR_ARG, "sink"))         .IgnoreArgument(0)         .SetReturn("module0");      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, json_value_free(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, gballoc_free(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, ModuleLoader_Destroy());      //Act     GATEWAY_HANDLE gateway = Gateway_CreateFromJson(VALID_JSON_PATH);      //Assert     ASSERT_IS_NULL(gateway);     mocks.AssertActualAndExpectedCalls(); }  /*Tests_SRS_GATEWAY_JSON_00_000: [ This function shall return NULL upon any memory allocation failure. ]*/ TEST_FUNCTION(Gateway_CreateFromJson_Fails_links_parsing_