クラスがあり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;
}