1ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru/********************************************************************
2ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * COPYRIGHT:
385bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho * Copyright (c) 2002-2007, International Business Machines Corporation and
4ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru * others. All Rights Reserved.
5ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru ********************************************************************/
6ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
7ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//
8ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//   regextst.cpp
9ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//
10ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//      ICU Regular Expressions test, part of intltest.
11ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//
12ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
13ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "intltest.h"
14ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
15ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "v32test.h"
16ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "uvectr32.h"
17ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "uvector.h"
18ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include "util.h"
19ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include <stdlib.h>
20ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#include <stdio.h>
21ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
22ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
23ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//---------------------------------------------------------------------------
24ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//
25ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//  Test class boilerplate
26ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//
27ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//---------------------------------------------------------------------------
28ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruUVector32Test::UVector32Test()
29ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{
30ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}
31ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
32ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
33ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste QueruUVector32Test::~UVector32Test()
34ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{
35ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}
36ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
37ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
38ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
39ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruvoid UVector32Test::runIndexedTest( int32_t index, UBool exec, const char* &name, char* /*par*/ )
40ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru{
41ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    if (exec) logln("TestSuite UVector32Test: ");
42ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    switch (index) {
43ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
44ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru        case 0: name = "UVector32_API";
45ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru            if (exec) UVector32_API();
46ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru            break;
47ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru        default: name = "";
48ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru            break; //needed to end loop
49ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    }
50ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}
51ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
52ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
53ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//---------------------------------------------------------------------------
54ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//
55ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//   Error Checking / Reporting macros used in all of the tests.
56ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//
57ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//---------------------------------------------------------------------------
58ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#define TEST_CHECK_STATUS(status) \
59ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    if (U_FAILURE(status)) {\
60ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru        errln("UVector32Test failure at line %d.  status=%s\n", __LINE__, u_errorName(status));\
61ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru        return;\
62ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    }
63ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
64ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru#define TEST_ASSERT(expr) \
65ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    if ((expr)==FALSE) {\
6685bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho        errln("UVector32Test failure at line %d.\n", __LINE__);\
67ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    }
68ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
69ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//---------------------------------------------------------------------------
70ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//
71ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//      UVector32_API      Check for basic functionality of UVector32.
72ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//
73ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru//---------------------------------------------------------------------------
74ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queruvoid UVector32Test::UVector32_API() {
75ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
76ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    UErrorCode  status = U_ZERO_ERROR;
77ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    UVector32     *a;
78ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    UVector32     *b;
79ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
80ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
81ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
82ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
83ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
84ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
85ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(2000, status);
86ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
87ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
88ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
89ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
90ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //  assign()
91ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
92ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
93ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
94ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
95ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
96ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(30, status);
97ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b = new UVector32(status);
98ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->assign(*a, status);
99ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(b->size() == 3);
100ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(b->elementAti(1) == 20);
101ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
102ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
103ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete b;
104ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
105ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
106ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //  operator == and != and equals()
107ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
108ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
109ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
110ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
111ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
112ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(30, status);
113ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b = new UVector32(status);
114ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(*b != *a);
115ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(!(*b == *a));
116ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(!b->equals(*a));
117ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->assign(*a, status);
118ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(*b == *a);
119ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(!(*b != *a));
120ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(b->equals(*a));
121ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->addElement(666, status);
122ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(*b != *a);
123ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(!(*b == *a));
124ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(!b->equals(*a));
125ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
126ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete b;
127ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
128ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
129ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
130ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //  addElement().   Covered by above tests.
131ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
132ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
133ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
134ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // setElementAt()
135ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
136ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
137ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
138ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
139ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
140ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(30, status);
141ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->setElementAt(666, 1);
142ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(0) == 10);
143ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(1) == 666);
144ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->size() == 3);
145ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
146ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
147ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
148ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
149ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // insertElementAt()
150ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
151ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
152ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
153ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
154ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
155ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(30, status);
156ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->insertElementAt(666, 1, status);
157ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(0) == 10);
158ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(1) == 666);
159ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(2) == 20);
160ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(3) == 30);
161ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->size() == 4);
162ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
163ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
164ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
165ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
166ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //  elementAti()    covered by above tests
167ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
168ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
169ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
170ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //  lastElementi
171ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
172ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
173ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
174ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
175ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
176ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(30, status);
177ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->lastElementi() == 30);
178ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
179ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
180ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
181ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
182ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
183ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //  indexOf
184ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
185ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
186ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
187ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
188ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
189ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(30, status);
190ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->indexOf(30, 0) == 2);
191ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->indexOf(40, 0) == -1);
192ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->indexOf(10, 0) == 0);
193ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->indexOf(10, 1) == -1);
194ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
195ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
196ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
197ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
198ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
199ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //  contains
200ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
201ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
202ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
203ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
204ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
205ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(30, status);
206ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->contains(10) == TRUE);
207ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->contains(11) == FALSE);
208ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->contains(20) == TRUE);
209ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->contains(-10) == FALSE);
210ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
211ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
212ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
213ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
214ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
215ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //  containsAll
216ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
217ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
218ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
219ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
220ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
221ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(30, status);
222ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b = new UVector32(status);
223ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->containsAll(*b) == TRUE);
224ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->addElement(2, status);
225ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->containsAll(*b) == FALSE);
226ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->setElementAt(10, 0);
227ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->containsAll(*b) == TRUE);
228ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(b->containsAll(*a) == FALSE);
229ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->addElement(30, status);
230ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->addElement(20, status);
231ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->containsAll(*b) == TRUE);
232ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(b->containsAll(*a) == TRUE);
233ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->addElement(2, status);
234ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->containsAll(*b) == FALSE);
235ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(b->containsAll(*a) == TRUE);
236ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
237ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
238ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete b;
239ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
240ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
241ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //  removeAll
242ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
243ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
244ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
245ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
246ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
247ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(30, status);
248ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b = new UVector32(status);
249ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->removeAll(*b);
250ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->size() == 3);
251ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->addElement(20, status);
252ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->removeAll(*b);
253ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->size() == 2);
254ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->contains(10)==TRUE);
255ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->contains(30)==TRUE);
256ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->addElement(10, status);
257ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->removeAll(*b);
258ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->size() == 1);
259ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->contains(30) == TRUE);
260ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
261ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
262ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete b;
263ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
264ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
265ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // retainAll
266ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
267ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
268ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
269ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
270ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
271ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(30, status);
272ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b = new UVector32(status);
273ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->addElement(10, status);
274ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->addElement(20, status);
275ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->addElement(30, status);
276ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->addElement(15, status);
277ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->retainAll(*b);
278ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->size() == 3);
279ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->removeElementAt(1);
280ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->retainAll(*b);
281ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->contains(20) == FALSE);
282ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->size() == 2);
283ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->removeAllElements();
284ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(b->size() == 0);
285ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->retainAll(*b);
286ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->size() == 0);
287ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
288ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
289ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete b;
290ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
291ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
292ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //  removeElementAt   Tested above.
293ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
294ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
295ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
296ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //  removeAllElments   Tested above
297ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
298ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
299ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
300ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //  size()   tested above
301ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
302ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
303ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
304ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //  isEmpty
305ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
306ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
307ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
308ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->isEmpty() == TRUE);
309ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
310ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->isEmpty() == FALSE);
311ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
312ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->removeElementAt(0);
313ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->isEmpty() == FALSE);
314ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->removeElementAt(0);
315ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->isEmpty() == TRUE);
316ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
317ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
318ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
319ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
320ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
321ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // ensureCapacity, expandCapacity
322ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
323ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
324ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
325ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->isEmpty() == TRUE);
326ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
327ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->ensureCapacity(5000, status)== TRUE);
328ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->expandCapacity(20000, status) == TRUE);
329ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
330ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
331ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
332ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
333ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // setSize
334ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
335ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
336ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
337ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
338ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
339ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(30, status);
340ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->setSize(100);
341ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->size() == 100);
342ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(0) == 10);
343ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(1) == 20);
344ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(2) == 30);
345ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(3) == 0);
346ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->setElementAt(666, 99);
347ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->setElementAt(777, 100);
348ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(99) == 666);
349ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(100) == 0);
350ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->setSize(2);
351ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(1) == 20);
352ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(2) == 0);
353ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->size() == 2);
354ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->setSize(0);
355ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->empty() == TRUE);
356ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->size() == 0);
357ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
358ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
359ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
360ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
361ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
362ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // containsNone
363ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
364ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
365ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
366ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
367ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
368ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(30, status);
369ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b = new UVector32(status);
370ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->containsNone(*b) == TRUE);
371ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->addElement(5, status);
372ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->containsNone(*b) == TRUE);
373ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    b->addElement(30, status);
374ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->containsNone(*b) == FALSE);
375ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
376ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
377ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
378ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete b;
379ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
380ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
381ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // sortedInsert
382ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
383ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
384ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
385ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->sortedInsert(30, status);
386ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->sortedInsert(20, status);
387ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->sortedInsert(10, status);
388ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(0) == 10);
389ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(1) == 20);
390ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->elementAti(2) == 30);
391ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
392ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
393ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
394ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
395ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
396ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // getBuffer
397ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
398ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
399ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
400ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
401ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
402ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    int32_t *buf = a->getBuffer();
403ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(buf[0] == 10);
404ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(buf[1] == 20);
405ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->setSize(20000);
406ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    int32_t *resizedBuf;
407ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    resizedBuf = a->getBuffer();
40885bf2e2fbc60a9f938064abc8127d61da7d19882Claire Ho    //TEST_ASSERT(buf != resizedBuf); // The buffer might have been realloc'd
409ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(resizedBuf[0] == 10);
410ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(resizedBuf[1] == 20);
411ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
412ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
413ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
414ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
415ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
416ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
417ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //  empty
418ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
419ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
420ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
421ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->empty() == TRUE);
422ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
423ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->empty() == FALSE);
424ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
425ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->removeElementAt(0);
426ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->empty() == FALSE);
427ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->removeElementAt(0);
428ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->empty() == TRUE);
429ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
430ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
431ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
432ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
433ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
434ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //  peeki
435ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
436ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
437ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
438ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
439ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->peeki() == 10);
440ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
441ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->peeki() == 20);
442ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(30, status);
443ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->peeki() == 30);
444ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
445ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
446ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
447ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
448ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
449ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // popi
450ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
451ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
452ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
453ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(10, status);
454ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(20, status);
455ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->addElement(30, status);
456ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->popi() == 30);
457ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->popi() == 20);
458ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->popi() == 10);
459ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->popi() == 0);
460ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->isEmpty());
461ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
462ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
463ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
464ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
465ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // push
466ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
467ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
468ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
469ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->push(10, status) == 10);
470ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->push(20, status) == 20);
471ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->push(30, status) == 30);
472ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->size() == 3);
473ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->popi() == 30);
474ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->popi() == 20);
475ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->popi() == 10);
476ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_ASSERT(a->isEmpty());
477ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
478ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
479ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
480ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
481ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
482ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // reserveBlock
483ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    //
484ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    status = U_ZERO_ERROR;
485ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a = new UVector32(status);
486ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    a->ensureCapacity(1000, status);
487ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
488ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    // TODO:
489ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
490ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    TEST_CHECK_STATUS(status);
491ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru    delete a;
492ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
493ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru}
494ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
495ac04d0bbe12b3ef54518635711412f178cb4d16Jean-Baptiste Queru
496