Пример #1
0
bool contains_ht(SerialHashTable_t * htable,int key){
    int myMask = htable->size - 1;
    if( htable->table[key & myMask] != NULL )
      return contains_list(htable->table[key & myMask],key);
    else
      return false;
}
Пример #2
0
// check_list
static
void
check_list(const BList &toCheck, const BList &base, const BList &extendedBase,
		   const BList &expected)
{
	// toCheck and extendedBase must have prefix base
	int32 baseCount = base.CountItems();
	for (int32 i = 0; i < baseCount; i++) {
		CHK(base.ItemAt(i) == toCheck.ItemAt(i));
		CHK(base.ItemAt(i) == extendedBase.ItemAt(i));
	}
	// toCheck must have correct size
	int32 toCheckCount = toCheck.CountItems();
	int32 extendedBaseCount = extendedBase.CountItems();
	int32 expectedCount = expected.CountItems();
	CHK(toCheckCount == extendedBaseCount + expectedCount);
	// toCheck must contain all elements of extendedBase and expected
	// (arbitrary order)
	BList list(extendedBase);
	list.AddList((BList*)&expected);
	CHK(contains_list(toCheck, list));
	CHK(contains_list(list, toCheck));
}