Blame winpr/libwinpr/utils/test/TestArrayList.c

Packit 1fb8d4
Packit 1fb8d4
#include <winpr/crt.h>
Packit 1fb8d4
#include <winpr/tchar.h>
Packit 1fb8d4
#include <winpr/collections.h>
Packit 1fb8d4
Packit 1fb8d4
int TestArrayList(int argc, char* argv[])
Packit 1fb8d4
{
Packit 1fb8d4
	int index;
Packit 1fb8d4
	int count;
Packit 1fb8d4
	size_t val;
Packit 1fb8d4
	wArrayList* arrayList;
Packit 1fb8d4
	const int elemsToInsert = 10;
Packit 1fb8d4
Packit 1fb8d4
	arrayList = ArrayList_New(TRUE);
Packit 1fb8d4
	if (!arrayList)
Packit 1fb8d4
		return -1;
Packit 1fb8d4
Packit 1fb8d4
	for (index = 0; index < elemsToInsert; index++)
Packit 1fb8d4
	{
Packit 1fb8d4
		if (ArrayList_Add(arrayList, (void*) (size_t) index) < 0)
Packit 1fb8d4
			return -1;
Packit 1fb8d4
	}
Packit 1fb8d4
Packit 1fb8d4
	count = ArrayList_Count(arrayList);
Packit 1fb8d4
Packit 1fb8d4
	printf("ArrayList count: %d\n", count);
Packit 1fb8d4
Packit 1fb8d4
	index = ArrayList_IndexOf(arrayList, (void*) (size_t) 6, -1, -1);
Packit 1fb8d4
Packit 1fb8d4
	printf("ArrayList index: %d\n", index);
Packit 1fb8d4
Packit 1fb8d4
	if (index != 6)
Packit 1fb8d4
		return -1;
Packit 1fb8d4
Packit 1fb8d4
	ArrayList_Insert(arrayList, 5, (void*) (size_t) 100);
Packit 1fb8d4
Packit 1fb8d4
	index = ArrayList_IndexOf(arrayList, (void*) (size_t) 6, -1, -1);
Packit 1fb8d4
	printf("ArrayList index: %d\n", index);
Packit 1fb8d4
Packit 1fb8d4
	if (index != 7)
Packit 1fb8d4
		return -1;
Packit 1fb8d4
Packit 1fb8d4
	ArrayList_Remove(arrayList, (void*) (size_t) 100);
Packit 1fb8d4
Packit 1fb8d4
	index = ArrayList_IndexOf(arrayList, (void*) (size_t) 6, -1, -1);
Packit 1fb8d4
	printf("ArrayList index: %d\n", index);
Packit 1fb8d4
Packit 1fb8d4
	if (index != 6)
Packit 1fb8d4
		return -1;
Packit 1fb8d4
Packit 1fb8d4
	for (index = 0; index < elemsToInsert; index++) {
Packit 1fb8d4
		val = (size_t)ArrayList_GetItem(arrayList, 0);
Packit 1fb8d4
		ArrayList_RemoveAt(arrayList, 0);
Packit 1fb8d4
		if (val != index)
Packit 1fb8d4
		{
Packit 1fb8d4
			printf("ArrayList: shifted %d entries, expected value %d, got %"PRIdz"\n", index, index, val);
Packit 1fb8d4
			return -1;
Packit 1fb8d4
		}
Packit 1fb8d4
	}
Packit 1fb8d4
Packit 1fb8d4
	index = ArrayList_IndexOf(arrayList, (void*) (size_t) elemsToInsert, -1, -1);
Packit 1fb8d4
	printf("ArrayList index: %d\n", index);
Packit 1fb8d4
	if (index != -1)
Packit 1fb8d4
		return -1;
Packit 1fb8d4
Packit 1fb8d4
	count = ArrayList_Count(arrayList);
Packit 1fb8d4
	printf("ArrayList count: %d\n", count);
Packit 1fb8d4
	if (count != 0)
Packit 1fb8d4
		return -1;
Packit 1fb8d4
Packit 1fb8d4
	ArrayList_Clear(arrayList);
Packit 1fb8d4
	ArrayList_Free(arrayList);
Packit 1fb8d4
Packit 1fb8d4
	return 0;
Packit 1fb8d4
}