char *test_push_pop()
{
    List_push(list, test1);
    mu_assert(List_last(list) == test1, "Wrong last value");

    List_push(list, test2);
    mu_assert(List_last(list) == test2, "Wrong last value");

    List_push(list, test3);
    mu_assert(List_last(list) == test3, "Wrong last value");

    mu_assert(List_count(list) == 3, "Wrong count on push");

    char *val = List_pop(list);
    mu_assert(val == test3, "Wrong value on pop");

    val = List_pop(list);
    mu_assert(val == test2, "Wrong value on pop");

    val = List_pop(list);
    mu_assert(val == test1, "Wrong value on pop");

    mu_assert(List_count(list) == 0, "Wrong count after pop.");

    return NULL;
}
Exemple #2
0
void remove_mid(List *list) {
    List_push(list, 12);
    List_push(list, 7);
    List_push(list, 8);
    List_remove(list, List_index(list, 1));
    assert(List_size(list) == 2);
    assert(List_first(list)->data == 12);
    assert(List_last(list)->data == 8);
}
char *test_remove() {
  //only test middle case since push shift test other cases
  char *val = List_remove(list, list->first->next);
  mu_assert(val == test2, "Wrong removed element.");
  mu_assert(List_count(list) == 2, "Wrong count after remove.");
  mu_assert(List_first(list) == test3, "Wrong first after remove.");
  mu_assert(List_last(list) == test1, "Wrong last after remove.");

  return NULL;
}
Exemple #4
0
char *test_remove() {
  char *val = List_remove(list, list->first->next);

  mu_assert(val == test2, "Wrong removed element.");
  mu_assert(List_count(list) == 2, "Wrong count after remove.");
  mu_assert(List_first(list) == test3, "Wrong first after remove.");
  mu_assert(List_last(list) == test1, "Wrong last after remove.");

  return NULL;
}
Exemple #5
0
void str_push_pop(List *list) {
    SET_TYPE(list, string);
    List_push(list, "hello world");
    List_push(list, "bad boy");
    assert(strcmp(List_index(list, 0)->data, "hello world") == 0);
    assert(strcmp(List_index(list, 1)->data, "bad boy") == 0);
    assert(strcmp(List_first(list)->data, "hello world") == 0);
    assert(strcmp(List_last(list)->data, "bad boy") == 0);
    List_pop(list);
    List_pop(list);
}
char *test_remove()
{
  /*only need to test middle remove case since push/shift
    already tests the other cases*/
  char *val = List_remove(list, list->first->next);
  mu_assert(val == test2, "Wrong removed element.");
  mu_assert(List_count(list) == 2, "Wrong count after remove.");
  mu_assert(List_first(list) == test3, "Wrong first after remove.");
  mu_assert(List_last(list) == test1, "Wrong last after remove.");
  
  return NULL;
}
char *test_remove()
{
    List_push(list, tv1);
    List_push(list, tv2);
    List_push(list, tv3);
    char *out = List_remove(list, list->first->next);
    mu_assert(out == tv2, "Removed wrong thing.");
    mu_assert(List_first(list) == tv1, "Wrong first ref.");
    mu_assert(List_last(list) == tv3, "Wrong last ref.");

    return NULL;
}
Exemple #8
0
void push_shift(List *list) {
    List_push(list, 12);
    List_push(list, 7);
    List_push(list, 2);
    assert(List_index(list, 0)->data == 12);
    assert(List_index(list, 1)->data == 7);
    assert(List_first(list)->data == 12);
    assert(List_last(list)->data == 2);
    List_shift(list);
    assert(List_first(list)->data == 7);
    List_shift(list);
    assert(List_first(list)->data == 2);
    List_shift(list);
    assert(List_first(list) == NULL);
}
Exemple #9
0
char* test_copy() {
  src = List_create();
  dest = List_create();
  List_push(src, test1);
  List_push(src, test2);
  List_push(src, test3);

  List_copy(dest, src);

  mu_assert(List_count(dest) == 3, "Wrong copy - count.");
  mu_assert(List_first(dest) == test1, "Wrong copy - first.");
  mu_assert(List_last(dest) == test3, "Wrong copy - last.");

  return NULL;
}
char *test_push_pop()
{
    List_push(list, tv1);
    mu_assert(List_last(list) == tv1, "Bad last value.");

    List_push(list, tv2);
    mu_assert(List_last(list) == tv2, "Bad last value.");

    List_push(list, tv3);
    mu_assert(List_last(list) == tv3, "Bad last value.");
    mu_assert(List_size(list) == 3, "Wrong size");

    char *out = List_pop(list);
    mu_assert(out == tv3, "Bad popped value.");

    out = List_pop(list);
    mu_assert(out == tv2, "Bad popped value.");

    out = List_pop(list);
    mu_assert(out == tv1, "Bad popped value.");
    mu_assert(List_size(list) == 0, "Wrong size");

    return NULL;
}
char *test_push_pop()
{
	List_push(list, test1);
	mu_assert(List_last(list) == test1, "Wrong last value");

	List_push(list, test2);
	mu_assert(List_last(list) == test2, "Wrong last value");

	List_push(list, test3);
	mu_assert(List_last(list) == test3, "Wrong last value");
	mu_assert(List_count(list) == 3, "Wrong count");

	char *val = List_pop(list);
	mu_assert(val == test3, "Wrong popped value");

	val = List_pop(list);
	mu_assert(val == test2, "Wrong popped value");

	val = List_pop(list);
	mu_assert(val == test1, "Wrong popped value");
	mu_assert(List_count(list) == 0, "Wrong count");

	return NULL;
}