OpenFPGA/libs/libvtrutil/test/test_range.cpp

42 lines
890 B
C++

#include "catch.hpp"
#include "vtr_range.h"
#include <vector>
TEST_CASE("Range Ops", "[vtr_range]") {
std::vector<int> vec = {1, 2, 3};
{
//From iterator pair
auto range = vtr::make_range(vec.begin(), vec.end());
REQUIRE(range.size() == vec.size());
size_t i = 0;
for (auto elem : range) {
REQUIRE(elem == vec[i]);
i++;
}
REQUIRE(i == vec.size());
}
{
//From container
auto range = vtr::make_range(vec);
REQUIRE(range.size() == vec.size());
size_t i = 0;
for (auto elem : range) {
REQUIRE(elem == vec[i]);
i++;
}
REQUIRE(i == vec.size());
}
{
//Empty
auto range = vtr::make_range(vec.begin(), vec.begin());
REQUIRE(range.size() == 0);
REQUIRE(range.empty());
}
}