blob: d94c9dcd283db2ec53cedf5e50f9b2d4c26860b0 [file] [log] [blame]
// SPDX-License-Identifier: Apache-2.0
/** @file
* Test Discrete Range.
*/
#include "swoc/DiscreteRange.h"
#include "swoc/TextView.h"
#include <catch2/catch_test_macros.hpp>
using swoc::TextView;
using namespace std::literals;
using namespace swoc::literals;
using range_t = swoc::DiscreteRange<unsigned>;
TEST_CASE("Discrete Range", "[libswoc][range]") {
range_t single{56};
range_t r1{56, 100};
range_t r2{101, 200};
range_t r3{100, 200};
REQUIRE(single.contains(56));
REQUIRE_FALSE(single.contains(100));
REQUIRE(r1.is_adjacent_to(r2));
REQUIRE(r2.is_adjacent_to(r1));
REQUIRE(r1.is_left_adjacent_to(r2));
REQUIRE_FALSE(r2.is_left_adjacent_to(r1));
REQUIRE(r2.is_subset_of(r3));
REQUIRE(r3.is_superset_of(r2));
REQUIRE_FALSE(r3.is_subset_of(r2));
REQUIRE_FALSE(r2.is_superset_of(r3));
REQUIRE(r2.is_subset_of(r2));
REQUIRE_FALSE(r2.is_strict_subset_of(r2));
REQUIRE(r3.is_superset_of(r3));
REQUIRE_FALSE(r3.is_strict_superset_of(r3));
}