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