Код: Выделить всё
class A {
public:
void add(B b);
bool go_do_your_thing();
private:
std::list b_list;
std::list::iterator current_b;
};
< /code>
Метод GO_DO_YOUR_THITH () итерация проходит через список, ищущий определенное условие в элементе B в списке и останавливает итерацию в этом элементе. Таким образом, current_b должен указывать на элемент в списке, который удовлетворяет условию и возвращает True в первом элементе в списке действителен. Предположим, что я специально делаю первый элемент недействительным, но следующие два хороши. Я хочу подтвердить, что B2 специально выбран. < /P>
TEST_F( ATests, APicksBAndReturnsTrue ) {
b1.setState( NO_GOOD );
A.add( b1 );
A.add( b2 );
A.add( b3 );
EXPECT_EQ( A.do_your_thing( ), true );
// Expect that A picked b2, and not just any b
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... with-gtest