Esempio n. 1
0
static void delete_test()
{
	IntVec* vec = new_int_vec(2);

	vec->push(vec, 7);
	vec->push(vec, 91);
	vec->push(vec, 561);
	vec->push(vec, 78);
	vec->push(vec, 57);

	vec->del(vec, 1);
	printf("current: %lu", vec->current);

	printf("[ ");
	for (size_t i = 0; i < vec->current; i++)
	{
		printf("%d ", vec->nth(vec, i));
	}
	printf("]\n");

	assert_int_equal(561, vec->nth(vec, 1));
	assert_int_equal(4, vec->current);

	destroy_int_vec(vec);
}
Esempio n. 2
0
static void pop_test()
{
	IntVec* vec = new_int_vec(2);

	vec->push(vec, 7);
	vec->push(vec, 42);
	vec->push(vec, 8);

	assert_int_equal(8, vec->pop(vec));
	assert_int_equal(42, vec->pop(vec));
	assert_int_equal(7, vec->pop(vec));

	destroy_int_vec(vec);
}
Esempio n. 3
0
static void insert_test()
{
	IntVec* vec = new_int_vec(2);

	vec->push(vec, 12);
	vec->push(vec, 42);
	vec->push(vec, 90);
	vec->push(vec, -21487);
	vec->push(vec, 789);
	vec->push(vec, 1092);
	vec->push(vec, 87);
	vec->push(vec, 7648);

	vec->ins(vec, 4, 9);

	// Test that vec->limit is doubled by vec->ins when it is reached.
	assert_int_equal(16, vec->limit);

	// Test that inserted value is in the right area.
	assert_int_equal(9, vec->nth(vec, 4));

	// Test that the following values have been moved up successfully.
	assert_int_equal(789, vec->nth(vec, 5));
	assert_int_equal(1092, vec->nth(vec, 6));
	assert_int_equal(87, vec->nth(vec, 7));
	assert_int_equal(7648, vec->nth(vec, 8));

	destroy_int_vec(vec);
}