本文整理汇总了C++中UtlHashBag::removeAll方法的典型用法代码示例。如果您正苦于以下问题:C++ UtlHashBag::removeAll方法的具体用法?C++ UtlHashBag::removeAll怎么用?C++ UtlHashBag::removeAll使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UtlHashBag
的用法示例。
在下文中一共展示了UtlHashBag::removeAll方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testIsEmpty
/*!a Test case for the isEmpty() method.
* The test data for this test are :-
* a) When the list has just been created.
* b) When the list has one entry in it
* c) When the list has multiple entries in it.
* e) When all the entries in a list have been removed using removeAll()
*/
void testIsEmpty()
{
const int testCount = 4 ;
const char* prefix = "Test the isEmpty() method when " ;
const char* Msgs[] = { \
"the list has just been created" , \
"the list has just one entry in it", \
"the list has multiple entries in it", \
"all the list entries have been retreived using removeAll()" \
} ;
UtlHashBag newList ;
UtlHashBag secondNewList ;
UtlHashBag commonList_Clone ;
// Add a single entry to the list.
newList.insert(commonContainables[0]) ;
UtlString uS1("Tester string") ;
// populate the second list and then removeAll entries.
secondNewList.insert(&uS1) ;
UtlInt uI1 = UtlInt(232) ;
secondNewList.insert(&uI1) ;
secondNewList.insert(commonContainables[3]) ;
secondNewList.removeAll() ;
UtlHashBag* testLists[] = { \
&emptyList, &newList, &commonList, &secondNewList \
} ;
bool exp[] = { true, false, false, true } ;
for (int i = 0 ; i < testCount; i++)
{
string msg ;
TestUtilities::createMessage(2, &msg, prefix, Msgs[i]) ;
UtlBoolean act = testLists[i] -> isEmpty() ;
CPPUNIT_ASSERT_EQUAL_MESSAGE(msg.data(), (UtlBoolean)exp[i], act) ;
}
} // testIsEmpty
示例2: testClear
/*!a test the removeAll() method.
*
* The test data for this method is
* a) When the list is empty
* b) When the list has one entry.
* c) When the list multiple entries
* d) When removeAll has been called and entries are added again
* e) When the removeAll is called twice on the list.
* f) When the removeAll is call on a list that has muliple entries
* for the same key.
*/
void testClear()
{
const int testCount = 6 ;
const char* prefix = "Test the removeAll() method when :- " ;
const char* Msgs[] = { \
"the list is empty", \
"the list has one entry", \
"the list has multiple entries", \
" has been called and entries are added again", \
"removeAll() has already been called", \
"removeAll() is called on list that has multiple matches" \
} ;
const char* suffix = " :- Verify number of entries after removeAll()" ;
UtlHashBag uSingleList ;
UtlHashBag uAddAfterClear ;
UtlHashBag uDoubleClear ;
// populate the hashtable with the 'common' values
UtlHashBag commonList_Clone ;
for (int i = 0 ; i < commonEntriesCount ; i++)
{
commonList_Clone.insert(commonContainables_Clone[i]) ;
}
// Add two values such that one of them has a 'value'
// match already in the table and the other one has
// a ref match.
commonList_Clone.insert(commonContainables_Clone[3]) ;
commonList_Clone.insert(commonContainables[5]) ;
// Add a single entry to the list that is to be made up
// of just one element
uSingleList.insert(&commonString1) ;
// call removeAll() on a list and then add entries again.
uAddAfterClear.insert(&commonInt1) ;
uAddAfterClear.insert(&commonString1) ;
uAddAfterClear.removeAll() ;
uAddAfterClear.insert(&commonInt2) ;
// call removeAll on a list twice.
uDoubleClear.insert(&commonString3) ;
uDoubleClear.insert(&commonInt3) ;
uDoubleClear.removeAll() ;
UtlHashBag* testLists[] = { \
&emptyList, &uSingleList, &commonList, &uAddAfterClear, &uDoubleClear, &commonList_Clone
} ;
int expEntries[] = { 0 , 0, 0, 1, 0, 0} ;
// since we are not calling removeAll for all the lists, do it outside the for loop for those
// that require to be cleared.
emptyList.removeAll() ;
uSingleList.removeAll() ;
commonList.removeAll() ;
commonList_Clone.removeAll() ;
// no removeAll() for uAddAfterClear
uDoubleClear.removeAll() ;
for ( int j = 0 ; j < testCount ; j++)
{
string msg ;
TestUtilities::createMessage(3, &msg, prefix, Msgs[j], suffix) ;
CPPUNIT_ASSERT_EQUAL_MESSAGE(msg.data() , expEntries[j], (int)testLists[j] -> entries()) ;
}
} //testClear()