) {     //Arrange     CGatewayMocks mocks;      STRICT_EXPECTED_CALL(mocks, ModuleLoader_Initialize());      STRICT_EXPECTED_CALL(mocks, json_parse_file(VALID_JSON_PATH));     STRICT_EXPECTED_CALL(mocks, gballoc_malloc(sizeof(GATEWAY_PROPERTIES)));     STRICT_EXPECTED_CALL(mocks, json_value_get_object(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, json_object_get_value(IGNORED_PTR_ARG, "loaders"))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, ModuleLoader_InitializeFromJson(IGNORED_PTR_ARG))         .IgnoreArgument(0);     STRICT_EXPECTED_CALL(mocks, json_object_get_array(IGNORED_PTR_ARG, "modules"))         .IgnoreArgument(0)         .SetFailReturn((JSON_Array*)NULL);     STRICT_EXPECTED_CALL(mocks, json_object_get_array(IGNORED_PTR_ARG, "links"))         .IgnoreArgument(0);      STRICT_EXPECTED_CALL(mocks, VECTOR_create(sizeof(GATEWAY_LINK_ENTRY)));     STRICT_EXPECTED_CALL(mocks, json_array_get_count(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: [The function shall return NULL if the JSON_Value contains incomplete information.]*/ TEST_FUNCTION(Gateway_CreateFromJson_Traverses_JSON_Value_NULL_