20
20
#include < list>
21
21
#include < string_view>
22
22
#include < span>
23
- #include < span > // std::bit_cast
23
+ #include < bit > // std::bit_cast
24
24
25
25
#include " buffer/shared_buffer.hpp"
26
26
@@ -32,12 +32,24 @@ constexpr int N = 11;
32
32
33
33
34
34
template <typename SB, typename PT>
35
- void generic_pointer_construction_test () {
35
+ SB generic_pointer_construction_test () {
36
36
auto arr = chops::make_byte_array ( 40 , 41 , 42 , 43 , 44 , 60 , 59 , 58 , 57 , 56 , 42 , 42 );
37
- const PT* ptr = std::bit_cast<const PT *>(arr.data ());
37
+ auto ptr = std::bit_cast<const PT *>(arr.data ());
38
38
SB sb (ptr, arr.size ());
39
39
REQUIRE_FALSE (sb.empty ());
40
40
chops::repeat (static_cast <int >(arr.size ()), [&sb, arr] (int i) { REQUIRE (*(sb.data ()+i) == arr[i]); } );
41
+ return sb;
42
+ }
43
+
44
+ template <typename PT>
45
+ void generic_pointer_append_test () {
46
+ auto sb { generic_pointer_construction_test<chops::mutable_shared_buffer, PT>() };
47
+ auto sav_sz { sb.size () };
48
+ const PT arr[] { 5 , 6 , 7 };
49
+ sb.append (arr, 3 );
50
+ REQUIRE (sb.size () == (sav_sz + 3 ));
51
+ // sb.append (std::span<PT>(arr, 3));
52
+ // REQUIRE (sb.size() == (sav_sz + 6));
41
53
}
42
54
43
55
template <typename SB>
@@ -84,15 +96,15 @@ void byte_vector_move_test() {
84
96
REQUIRE_FALSE (bv.size () == sb.size ());
85
97
}
86
98
87
- TEMPLATE_TEST_CASE ( " Checking generic pointer construction" ,
99
+ TEMPLATE_TEST_CASE ( " Generic pointer construction" ,
88
100
" [common]" ,
89
- char , unsigned char , signed char ) {
101
+ char , unsigned char , signed char , std:: uint8_t ) {
90
102
generic_pointer_construction_test<chops::mutable_shared_buffer, TestType>();
91
103
generic_pointer_construction_test<chops::const_shared_buffer, TestType>();
92
104
}
93
105
94
106
95
- TEMPLATE_TEST_CASE ( " Shared buffer common methods test " ,
107
+ TEMPLATE_TEST_CASE ( " Shared buffer common methods" ,
96
108
" [const_shared_buffer] [common]" ,
97
109
chops::mutable_shared_buffer, chops::const_shared_buffer ) {
98
110
auto arr = chops::make_byte_array ( 80 , 81 , 82 , 83 , 84 , 90 , 91 , 92 );
@@ -213,6 +225,12 @@ TEST_CASE ( "Mutable shared buffer append",
213
225
}
214
226
}
215
227
228
+ TEMPLATE_TEST_CASE ( " Generic pointer append" ,
229
+ " [mutable_shared_buffer] [pointer] [append]" ,
230
+ char , unsigned char , signed char , std::uint8_t ) {
231
+ generic_pointer_append_test<TestType>();
232
+ }
233
+
216
234
TEST_CASE ( " Compare a mutable shared_buffer with a const shared buffer" ,
217
235
" [mutable_shared_buffer] [const_shared_buffer] [compare]" ) {
218
236
0 commit comments