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