Skip to content

Commit 9f17802

Browse files
committed
👷 improve test code
1 parent 37b139d commit 9f17802

File tree

1 file changed

+19
-21
lines changed

1 file changed

+19
-21
lines changed

test/msg/detail/rle_codec.cpp

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#include <msg/detail/rle_codec.hpp>
22

3+
#include <stdx/compiler.hpp>
4+
35
#include <catch2/catch_test_macros.hpp>
46
#include <catch2/matchers/catch_matchers_range_equals.hpp>
57

@@ -9,7 +11,7 @@
911
using Catch::Matchers::RangeEquals;
1012

1113
namespace {
12-
constexpr auto operator"" _b(unsigned long long v) -> std::byte {
14+
CONSTEVAL auto operator"" _b(unsigned long long v) -> std::byte {
1315
return static_cast<std::byte>(v);
1416
}
1517
} // namespace
@@ -24,53 +26,50 @@ TEST_CASE("rle_codec can encode all zeros", "[rle_codec]") {
2426
using bs = stdx::bitset<10>;
2527
using codec = rle_codec<bs>;
2628

27-
CHECK_THAT(codec::encode(bs{}),
28-
RangeEquals(std::to_array<std::byte>({10_b})));
29+
CHECK_THAT(codec::encode(bs{}), RangeEquals(std::array{10_b}));
2930
}
3031

3132
TEST_CASE("rle_codec can encode all ones", "[rle_codec]") {
3233
using bs = stdx::bitset<12>;
3334
using codec = rle_codec<bs>;
3435

35-
CHECK_THAT(codec::encode(~bs{}),
36-
RangeEquals(std::to_array<std::byte>({0_b, 12_b})));
36+
CHECK_THAT(codec::encode(~bs{}), RangeEquals(std::array{0_b, 12_b}));
3737
}
3838

3939
TEST_CASE("rle_codec can encode all zeros for large bit count", "[rle_codec]") {
4040
using bs = stdx::bitset<512>;
4141
using codec = rle_codec<bs>;
4242

43-
CHECK_THAT(codec::encode(bs{}), RangeEquals(std::to_array<std::byte>(
44-
{255_b, 0_b, 255_b, 0_b, 2_b})));
43+
CHECK_THAT(codec::encode(bs{}),
44+
RangeEquals(std::array{255_b, 0_b, 255_b, 0_b, 2_b}));
4545
}
4646

4747
TEST_CASE("rle_codec can encode all ones for large bit count", "[rle_codec]") {
4848
using bs = stdx::bitset<512>;
4949
using codec = rle_codec<bs>;
5050

51-
CHECK_THAT(codec::encode(~bs{}), RangeEquals(std::to_array<std::byte>(
52-
{0_b, 255_b, 0_b, 255_b, 0_b, 2_b})));
51+
CHECK_THAT(codec::encode(~bs{}),
52+
RangeEquals(std::array{0_b, 255_b, 0_b, 255_b, 0_b, 2_b}));
5353
}
5454

5555
TEST_CASE("rle_codec can encode alternating bits", "[rle_codec]") {
5656
using bs = stdx::bitset<8>;
5757
using codec = rle_codec<bs>;
5858

59-
CHECK_THAT(codec::encode(bs{stdx::place_bits, 0, 2, 4, 6}),
60-
RangeEquals(std::to_array<std::byte>(
61-
{0_b, 1_b, 1_b, 1_b, 1_b, 1_b, 1_b, 1_b, 1_b})));
59+
CHECK_THAT(
60+
codec::encode(bs{stdx::place_bits, 0, 2, 4, 6}),
61+
RangeEquals(std::array{0_b, 1_b, 1_b, 1_b, 1_b, 1_b, 1_b, 1_b, 1_b}));
6262

6363
CHECK_THAT(codec::encode(bs{stdx::place_bits, 1, 3, 5, 7}),
64-
RangeEquals(std::to_array<std::byte>(
65-
{1_b, 1_b, 1_b, 1_b, 1_b, 1_b, 1_b, 1_b})));
64+
RangeEquals(std::array{1_b, 1_b, 1_b, 1_b, 1_b, 1_b, 1_b, 1_b}));
6665
}
6766

6867
TEST_CASE("rle_decoder can iterate chunks 1", "[rle_codec]") {
6968
using bs = stdx::bitset<8>;
7069
using decoder = rle_decoder<bs>;
7170

72-
auto rle =
73-
std::to_array<std::byte>({1_b, 1_b, 1_b, 1_b, 1_b, 1_b, 1_b, 1_b});
71+
auto rle = std::array{1_b, 1_b, 1_b, 1_b, 1_b, 1_b, 1_b, 1_b};
72+
7473
decoder dec{rle.data()};
7574
auto chunk = dec.make_chunk_enumerator();
7675

@@ -97,7 +96,7 @@ TEST_CASE("rle_decoder can iterate chunks 2", "[rle_codec]") {
9796
using bs = stdx::bitset<8>;
9897
using decoder = rle_decoder<bs>;
9998

100-
auto rle = std::to_array<std::byte>({0_b, 2_b, 2_b, 2_b, 0_b, 2_b});
99+
auto rle = std::array{0_b, 2_b, 2_b, 2_b, 0_b, 2_b};
101100
decoder dec{rle.data()};
102101
auto chunk = dec.make_chunk_enumerator();
103102

@@ -116,7 +115,7 @@ TEST_CASE("rle_decoder can iterate chunks 3", "[rle_codec]") {
116115
using bs = stdx::bitset<1000>;
117116
using decoder = rle_decoder<bs>;
118117

119-
auto rle = std::to_array<std::byte>({255_b, 0_b, 255_b, 0_b, 255_b, 235_b});
118+
auto rle = std::array{255_b, 0_b, 255_b, 0_b, 255_b, 235_b};
120119
decoder dec{rle.data()};
121120
auto chunk = dec.make_chunk_enumerator();
122121

@@ -133,7 +132,7 @@ TEST_CASE("rle_decoder can iterate sub-chunks", "[rle_codec]") {
133132
using bs = stdx::bitset<8>;
134133
using decoder = rle_decoder<bs>;
135134

136-
auto rle = std::to_array<std::byte>({0_b, 2_b, 2_b, 2_b, 0_b, 2_b});
135+
auto rle = std::array{0_b, 2_b, 2_b, 2_b, 0_b, 2_b};
137136
decoder dec{rle.data()};
138137
auto chunk = dec.make_chunk_enumerator();
139138

@@ -166,8 +165,7 @@ TEST_CASE("rle_decoder stops after num_bits", "[rle_codec]") {
166165
using decoder = rle_decoder<bs>;
167166

168167
// contains extra data which should be ignored
169-
auto rle =
170-
std::to_array<std::byte>({0_b, 2_b, 2_b, 2_b, 0_b, 2_b, 255_b, 255_b});
168+
auto rle = std::array{0_b, 2_b, 2_b, 2_b, 0_b, 2_b, 255_b, 255_b};
171169
decoder dec{rle.data()};
172170
auto chunk = dec.make_chunk_enumerator();
173171

0 commit comments

Comments
 (0)