Skip to content

Commit 55ad566

Browse files
committed
Use the new mettle::in_interval
1 parent f499e70 commit 55ad566

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

test/test_decode.cpp

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -32,25 +32,19 @@ struct at_eof : matcher_tag {
3232

3333
template<typename T,
3434
typename std::enable_if_t<bencode::detail::is_iterable_v<T>, int> = 0>
35-
auto in_range(const T &t) {
36-
return all(
37-
greater_equal(&*std::begin(t)),
38-
less_equal(&*std::end(t))
39-
);
35+
auto reuses_memory(const T &t) {
36+
return in_interval(&*std::begin(t), &*std::end(t), interval::closed);
4037
}
4138

4239
template<typename T,
4340
typename std::enable_if_t<!bencode::detail::is_iterable_v<T>, int> = 0>
44-
auto in_range(const T &) {
41+
auto reuses_memory(const T &) {
4542
return is_not(anything());
4643
}
4744

4845
template<typename T>
49-
auto in_range(const T *t) {
50-
return all(
51-
greater_equal(t),
52-
less_equal(t + std::strlen(t))
53-
);
46+
auto reuses_memory(const T *t) {
47+
return in_interval(t, t + std::strlen(t), interval::closed);
5448
}
5549

5650
template<typename Nested, typename Matcher>
@@ -97,14 +91,14 @@ auto decode_tests(Builder &_, Callable &&do_decode) {
9791

9892
_.test("string", [do_decode]() {
9993
auto data = make_data<InType>("4:spam");
100-
auto in_data_range = in_range(data);
94+
auto reuses_data_memory = reuses_memory(data);
10195

10296
auto value = do_decode(data);
10397
auto str = get<typename OutType::string>(value);
10498
expect(str, equal_to("spam"));
10599
if constexpr(bencode::detail::is_view_v<typename OutType::string>) {
106-
expect(&*str.begin(), in_data_range);
107-
expect(&*str.end(), in_data_range);
100+
expect(&*str.begin(), reuses_data_memory);
101+
expect(&*str.end(), reuses_data_memory);
108102
}
109103
});
110104

@@ -117,7 +111,7 @@ auto decode_tests(Builder &_, Callable &&do_decode) {
117111

118112
_.test("dict", [do_decode]() {
119113
auto data = make_data<InType>("d4:spami42ee");
120-
auto in_data_range = in_range(data);
114+
auto reuses_data_memory = reuses_memory(data);
121115

122116
auto value = do_decode(data);
123117
auto dict = get<typename OutType::dict>(value);
@@ -126,8 +120,8 @@ auto decode_tests(Builder &_, Callable &&do_decode) {
126120
auto str = dict.find("spam")->first;
127121
expect(str, equal_to("spam"));
128122
if constexpr (bencode::detail::is_view_v<typename OutType::string>) {
129-
expect(&*str.begin(), in_data_range);
130-
expect(&*str.end(), in_data_range);
123+
expect(&*str.begin(), reuses_data_memory);
124+
expect(&*str.end(), reuses_data_memory);
131125
}
132126
});
133127

0 commit comments

Comments
 (0)