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