ED))         .IgnoreArgument(0)         .IgnoreArgument(0);      STRICT_EXPECTED_CALL(mocks, EventSystem_Destroy(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, VECTOR_front(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, VECTOR_front(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, VECTOR_front(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, VECTOR_front(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, VECTOR_size(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, VECTOR_size(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, VECTOR_size(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, VECTOR_size(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, VECTOR_size(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, VECTOR_size(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, Broker_RemoveLink(IGNORED_PTR_ARG,IGNORED_PTR_ARG))         .IgnoreArgument(0)         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, Broker_RemoveLink(IGNORED_PTR_ARG,IGNORED_PTR_ARG))         .IgnoreArgument(0)         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, VECTOR_erase(IGNORED_PTR_ARG,IGNORED_PTR_ARG, 0))         .IgnoreArgument(0)         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, VECTOR_erase(IGNORED_PTR_ARG,IGNORED_PTR_ARG, 0))         .IgnoreArgument(0)         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, VECTOR_erase(IGNORED_PTR_ARG,IGNORED_PTR_ARG, 0))         .IgnoreArgument(0)         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, VECTOR_erase(IGNORED_PTR_ARG,IGNORED_PTR_ARG, 0))         .IgnoreArgument(0)         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, Broker_RemoveModule(IGNORED_PTR_ARG,IGNORED_PTR_ARG))         .IgnoreArgument(0)         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, Broker_RemoveModule(IGNORED_PTR_ARG,IGNORED_PTR_ARG))         .IgnoreArgument(0)         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, Broker_DecRef(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, Broker_DecRef(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, Broker_Destroy(IGNORED_PTR_ARG))         .IgnoreArgument(0);     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, gballoc_free(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, gballoc_free(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, mock_Module_Destroy(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, mock_Module_Destroy(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, DynamicModuleLoader_GetModuleApi(IGNORED_PTR_ARG, IGNORED_PTR_ARG))         .IgnoreArgument(0)         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, DynamicModuleLoader_GetModuleApi(IGNORED_PTR_ARG, IGNORED_PTR_ARG))         .IgnoreArgument(0)         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, DynamicModuleLoader_Unload(IGNORED_PTR_ARG, IGNORED_PTR_ARG))         .IgnoreArgument(0)         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, DynamicModuleLoader_Unload(IGNORED_PTR_ARG, IGNORED_PTR_ARG))         .IgnoreArgument(0)         .IgnoreArgument(0);  STRICT_EXPECTED_CALL(mocks, DynamicModuleLoader_FreeEntrypoint(IGNORED_PTR_ARG, IGNORED_PTR_ARG))   .IgnoreArgument(0)         .IgnoreArgument(0);  STRICT_EXPECTED_CALL(mocks, DynamicModuleLoader_FreeEntrypoint(IGNORED_PTR_ARG, IGNORED_PTR_ARG))   .IgnoreArgument(0)         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, ModuleLoader_Destroy()); #ifdef OUTPROCESS_ENABLED     EXPECTED_CALL(mocks, OutprocessLoader_JoinChildProcesses()); #endif      //Act     GATEWAY_HANDLE gateway = Gateway_CreateFromJson(VALID_JSON_PATH);      //Assert     ASSERT_IS_NULL(gateway);     mocks.AssertActualAndExpectedCalls();      //Cleanup }  /*Tests_SRS_GATEWAY_JSON_00_000: [The function shall use parson to read the file and parse the JSON string to a parson JSON_Value structure.]*/ /*Tests_SRS_GATEWAY_JSON_00_000: [The function shall traverse the JSON_Value object to initialize a GATEWAY_PROPERTIES instance.]*/ /*Tests_SRS_GATEWAY_JSON_00_000: [The function shall set the value of const void* module_properties in the GATEWAY_PROPERTIES instance to a char* representing the serialized args value for the particular module.]*/ /*Tests_SRS_GATEWAY_JSON_00_000: [The function shall return NULL if the JSON_Value contains incomplete information.]*/ TEST_FUNCTION(Gateway_CreateFromJson_Traverses_JSON_