OMX_ERRORTYPE tiz_os_init (tiz_os_t ** app_os, const OMX_HANDLETYPE ap_hdl, tiz_soa_t * ap_soa) { tiz_os_t * p_os = NULL; assert (app_os); assert (ap_hdl); TIZ_TRACE (ap_hdl, "Init"); if (NULL == (p_os = (tiz_os_t *) os_calloc (ap_soa, sizeof (tiz_os_t)))) { return OMX_ErrorInsufficientResources; } assert (p_os); if (OMX_ErrorNone != tiz_map_init (&(p_os->p_map), os_map_compare_func, os_map_free_func, NULL)) { os_free (ap_soa, p_os); p_os = NULL; return OMX_ErrorInsufficientResources; } p_os->p_hdl = ap_hdl; p_os->p_soa = ap_soa; *app_os = p_os; return OMX_ErrorNone; }
END_TEST START_TEST (test_map_insert_find_erase_size_empty_at_for_each) { OMX_U32 i; OMX_ERRORTYPE error = OMX_ErrorNone; int *p_item = NULL; tiz_map_t *p_map = NULL;; OMX_U32 index = 0; error = tiz_map_init (&p_map, check_map_cmp_f, check_map_free_f, NULL); fail_if (error != OMX_ErrorNone); fail_if (false == tiz_map_empty (p_map)); for (i = 0; i < 10; i++) { p_item = (int *) tiz_mem_alloc (sizeof (int)); fail_if (p_item == NULL); *p_item = i; error = tiz_map_insert (p_map, p_item, p_item, &index); fail_if (error != OMX_ErrorNone); fail_if (index != i); fail_if (tiz_map_size (p_map) != i+1); } fail_if (10 != tiz_map_size (p_map)); fail_if (true == tiz_map_empty (p_map)); i = 5; fail_if (5 != *(p_item = tiz_map_find (p_map, &i))); fail_if (5 != *(p_item = tiz_map_value_at (p_map, i))); fail_if (OMX_ErrorNone != tiz_map_for_each (p_map, check_map_for_each_f, NULL)); for (i = 0; i < 10; i++) { int d = i; tiz_map_erase (p_map, &d); fail_if (tiz_map_size (p_map) != 9-i); } tiz_map_destroy (p_map); }
END_TEST START_TEST (test_map_clear) { OMX_U32 i; OMX_ERRORTYPE error = OMX_ErrorNone; int *p_item = NULL; tiz_map_t *p_map = NULL;; OMX_U32 index = 0; error = tiz_map_init (&p_map, check_map_cmp_f, check_map_free_f, NULL); fail_if (error != OMX_ErrorNone); fail_if (false == tiz_map_empty (p_map)); for (i = 0; i < 10; i++) { p_item = (int *) tiz_mem_alloc (sizeof (int)); fail_if (p_item == NULL); *p_item = i; error = tiz_map_insert (p_map, p_item, p_item, &index); fail_if (error != OMX_ErrorNone); fail_if (index != i); fail_if (tiz_map_size (p_map) != i+1); } fail_if (10 != tiz_map_size (p_map)); fail_if (true == tiz_map_empty (p_map)); fail_if (OMX_ErrorNone != tiz_map_clear (p_map)); fail_if (0 != tiz_map_size (p_map)); fail_if (false == tiz_map_empty (p_map)); tiz_map_destroy (p_map); }