Предположим, у меня есть:
std::vector<Foo> v1;
std::vector<Foo> v2;
std::vector<Foo>& rV = v1;
Как я могу сделать такой тест:
TEST_EQ(v1, rV);
TEST_NOT_EQ(v2, rV);
Я представляю, что это общая проблема для тех из вас, кто тестирует ваш код модульно.
Вы можете определить, совпадают ли два объекта, сравнив их адреса.
if (&v1 == &rV)
будет истинным, только если они ссылаются на один и тот же вектор.
(при условии, конечно, что вы не перегружены адресом оператора 🙂
Других решений пока нет …