Exemple #1
0
static void test_GetElement(void)
{
    const test_struct data[] = {{8, 9}, {-3, -4}, {21, 56}, {0, 0}};
    const int nr_elements = sizeof(data)/sizeof(data[0]);

    for(int i = 0; i < nr_elements; i++)
    {
        TEST_ASSERT_EQUAL(0, list_add_tail(mylist, &(data[i])));
    }

    check_n_list_elements_ok(mylist, nr_elements, data); // checks using list_get_element

    TEST_ASSERT_NULL(list_get_element(mylist, nr_elements));
    TEST_ASSERT_NULL(list_get_element(mylist, -1));
}
Exemple #2
0
void videoPlayer_print(videoPlayer_t * vidPlayer)
{
    int maxSize = list_get_size(vidPlayer->list);
     for(int i =0;i<maxSize;i++)
     {
         film_t * film = list_get_element(vidPlayer->list,i);
         film_print(film);
     }
}
Exemple #3
0
// check n items in list against verify_data
// IMPORTANT: this function must check using list_get_element,
//            else the test for that function is no longer useful
static void check_n_list_elements_ok(list_admin* admin, int nr_items, const test_struct* verify_data)
{
    for(int i = 0; i < nr_items; i++)
    {
        test_struct* ptr = list_get_element(admin, i);
        TEST_ASSERT_NOT_NULL(ptr);
        TEST_ASSERT_EQUAL(0, memcmp(verify_data+i, ptr, sizeof(*ptr)));
    }
}
Exemple #4
0
/*
 * @NAME: list_replace
 * @DESC: Coloca un valor en una de la posiciones de la lista retornando el valor anterior
 */
void *list_replace(t_list *self, int index, void *data) {
	void *old_data = NULL;

	t_link_element *element = list_get_element(self, index);
	if (element != NULL) {
		old_data = element->data;
		element->data = data;
	}

	return old_data;
}
Exemple #5
0
/*
 * @NAME: list_add
 * @DESC: Agrega un elemento al final de la lista
 */
int list_add(t_list *self, void *data) {
	t_link_element *new_element = list_create_element(data);

	if (self->elements_count == 0) {
		self->head = new_element;
	} else {
		list_link_element(list_get_element(self, self->elements_count - 1), new_element);
	}
	self->elements_count++;
	return self->elements_count - 1;
}
Exemple #6
0
/*
 * @NAME: list_remove
 * @DESC: Remueve un elemento de la lista de una determinada posicion y lo retorna.
 */
void *list_remove(t_list *self, int index) {
	void *data = NULL;
	t_link_element *aux_element = NULL;

	if (self->head == NULL) return NULL;

	aux_element = list_get_element(self, index);
	data = aux_element->data;

	if (index == 0) {
		self->head = aux_element->next;
	} else {
		t_link_element* previous = list_get_element(self, index - 1);
		list_link_element(previous, aux_element->next);
	}

	self->elements_count--;
	free(aux_element);
	return data;
}
Exemple #7
0
/*
 * @NAME: list_add_in_index
 * @DESC: Agrega un elemento en una posicion determinada de la lista
 */
void list_add_in_index(t_list *self, int index, void *data) {
	t_link_element* next = NULL;
	t_link_element* new_element = NULL;
	t_link_element* previous = NULL;

	if ((self->elements_count > index) && (index >= 0)) {
		new_element = list_create_element(data);

		if (index == 0) {
			list_link_element(new_element, self->head);
			self->head = new_element;
		} else {
			next = list_get_element(self, index);
			previous = list_get_element(self, index - 1);

			list_link_element(previous, new_element);
			list_link_element(new_element, next);
		}
		self->elements_count++;
	}
}
Exemple #8
0
void videoPlayer_play(videoPlayer_t * vidPlayer,int index){
    printf("STARTING FILM : ");
    film_print(list_get_element(vidPlayer->list,index));
    printf("Press N to go next B to go back S to stop P to Pause O to(O P NOT WORKING NOW)\n");
    int status = 0;
    char pressed;
    for(;;){
        pressed = getch();

        if(pressed == 'n')
        {
            status = 1;
        }
        else if(pressed == 'b')
        {
            status = 2;
        }
        else if(pressed == 's')
        {
            status = 3;
        }
        if(status != 0)
            break;
        }
        if(status == 1)
        {
            videoPlayer_play(vidPlayer,index + 1);
        }
        if(status == 2)
        {
            videoPlayer_play(vidPlayer,index - 1);
        }
        if(status == 3)
        {
            puts("STOPPED");
        }


    }
Exemple #9
0
/*
 * @NAME: list_get
 * @DESC: Retorna el contenido de una posicion determianda de la lista
 */
void* list_get(t_list *self, int index) {
	t_link_element* element_in_index = list_get_element(self, index);
	return element_in_index != NULL ? element_in_index->data : NULL;
}
Exemple #10
0
static void test_GetElement_parameters(void)
{
    TEST_ASSERT_NULL(list_get_element(NULL, 0));
}