#include "iterator/indexed_iterator.hpp" #include #include using idx_iterator = iterator::indexed_iterator::const_iterator>; TEST(IndexedIteratorTest, TreatsVectorIteratorAsMapIdxToValue) { std::vector const vec{5, 3, 2, 8, 9, 11, 2, 4}; idx_iterator it{vec.begin()}, end{vec.end()}; for (; it != end; ++it) { EXPECT_THAT((*it).second, vec[(*it).first]); } } TEST(IndexedIteratorTest, ContainsReferencesToContainersElements) { std::vector const vec{5, 3, 2, 8, 9, 11, 2, 4}; idx_iterator it{vec.begin()}, end{vec.end()}; for (; it != end; ++it) { EXPECT_THAT(&(*it).second, &vec[(*it).first]); } }