我有一堂课ListContainer
。该类是一个列表容器并允许 3 个操作:
- 添加
- 消除
- getNotValid(返回无效元素列表)。
该列表在类中是私有的,因此我无法检查添加是否真正添加元素。你认为我应该如何测试添加功能?
我认为我应该通过 getNotValid 检查它。
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
Container::Container() {
}
void Container::add(Element element) {
pthread_mutex_lock(&mutex);
list.push_back(element);
pthread_mutex_unlock(&mutex);
}
void Container::remove(unsigned int elementId) {
pthread_mutex_lock(&mutex);
list<Element>::iterator it;
for (it = list.begin(); it != list.end(); ++it) {
if (element->id == elementId) { //TODO is it the real check
list.erase(it);
}
}
pthread_mutex_unlock(&mutex);
}
list<Element> Container::getNotValid() {
list<Element> result;
pthread_mutex_lock(&mutex);
list<Element>::iterator it;
for (it = list.begin(); it != list.end(); ++it) {
if (element->isNotValid()) {
result.push_back(*it);
}
}
pthread_mutex_unlock(&mutex);
return result;
}