blob: b852ee8c25a16ef406471e6be2fd349d99ae26ba [file] [log] [blame]
#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());
}
}