25 0xa8, 0xa1, 0x38, 0x45, 0x23, 0xec, 0xe4, 0x23, 0x71, 0x6d, 0x2a,
26 0x18, 0xb4, 0x70, 0xcb, 0xf5, 0xac, 0x2d, 0x89, 0x4d, 0x19, 0x9c,
27 0xf0, 0x2c, 0x15, 0xd1, 0xf9, 0x9b, 0x66, 0xd2, 0x30, 0xd3};
30 BEAST_EXPECT(
sane(b0));
31 BEAST_EXPECT(b0.
empty());
34 BEAST_EXPECT(
sane(b1));
35 BEAST_EXPECT(b1.empty());
37 BEAST_EXPECT(
sane(b1));
38 BEAST_EXPECT(!b1.empty());
39 BEAST_EXPECT(b1.size() == 16);
42 BEAST_EXPECT(
sane(b2));
43 BEAST_EXPECT(!b2.empty());
44 BEAST_EXPECT(b2.size() == b1.size());
48 BEAST_EXPECT(
sane(b3));
49 BEAST_EXPECT(!b3.empty());
50 BEAST_EXPECT(b3.size() ==
sizeof(
data));
54 BEAST_EXPECT(b0 == b0);
55 BEAST_EXPECT(b0 != b1);
56 BEAST_EXPECT(b1 == b1);
57 BEAST_EXPECT(b1 != b2);
58 BEAST_EXPECT(b2 != b3);
62 testcase(
"Copy Construction / Assignment");
65 BEAST_EXPECT(x == b0);
66 BEAST_EXPECT(
sane(x));
68 BEAST_EXPECT(y == b1);
69 BEAST_EXPECT(
sane(y));
71 BEAST_EXPECT(x == b2);
72 BEAST_EXPECT(
sane(x));
75 BEAST_EXPECT(
sane(x));
77 BEAST_EXPECT(y == b3);
78 BEAST_EXPECT(
sane(y));
80 BEAST_EXPECT(x == b0);
81 BEAST_EXPECT(
sane(x));
83#pragma clang diagnostic push
84#pragma clang diagnostic ignored "-Wself-assign-overloaded"
88 BEAST_EXPECT(x == b0);
89 BEAST_EXPECT(
sane(x));
91 BEAST_EXPECT(y == b3);
92 BEAST_EXPECT(
sane(y));
95#pragma clang diagnostic pop
101 testcase(
"Move Construction / Assignment");
110 BEAST_EXPECT(
sane(x));
111 BEAST_EXPECT(x.
empty());
112 BEAST_EXPECT(
sane(y));
113 BEAST_EXPECT(y.empty());
114 BEAST_EXPECT(x == y);
120 BEAST_EXPECT(
sane(x));
121 BEAST_EXPECT(x.empty());
122 BEAST_EXPECT(
sane(y));
123 BEAST_EXPECT(y == b1);
131 BEAST_EXPECT(
sane(x));
132 BEAST_EXPECT(x.
empty());
133 BEAST_EXPECT(
sane(y));
134 BEAST_EXPECT(y.
empty());
142 BEAST_EXPECT(
sane(x));
143 BEAST_EXPECT(x == b1);
144 BEAST_EXPECT(
sane(y));
145 BEAST_EXPECT(y.empty());
153 BEAST_EXPECT(
sane(x));
154 BEAST_EXPECT(x.empty());
155 BEAST_EXPECT(
sane(y));
156 BEAST_EXPECT(y.
empty());
165 BEAST_EXPECT(
sane(x));
166 BEAST_EXPECT(!x.empty());
167 BEAST_EXPECT(
sane(y));
168 BEAST_EXPECT(y.empty());
171 BEAST_EXPECT(
sane(x));
172 BEAST_EXPECT(!x.empty());
173 BEAST_EXPECT(
sane(z));
174 BEAST_EXPECT(z.empty());
179 testcase(
"Slice Conversion / Construction / Assignment");
182 BEAST_EXPECT(
sane(w));
183 BEAST_EXPECT(w == b0);
186 BEAST_EXPECT(
sane(x));
187 BEAST_EXPECT(x == b1);
190 BEAST_EXPECT(
sane(y));
191 BEAST_EXPECT(y == b2);
194 BEAST_EXPECT(
sane(z));
195 BEAST_EXPECT(z == b3);
198 w =
static_cast<Slice>(b0);
199 BEAST_EXPECT(
sane(w));
200 BEAST_EXPECT(w == b0);
203 w =
static_cast<Slice>(b1);
204 BEAST_EXPECT(
sane(w));
205 BEAST_EXPECT(w == b1);
208 x =
static_cast<Slice>(b2);
209 BEAST_EXPECT(
sane(x));
210 BEAST_EXPECT(x == b2);
213 y =
static_cast<Slice>(z);
214 BEAST_EXPECT(
sane(y));
215 BEAST_EXPECT(y == z);
218 z =
static_cast<Slice>(b0);
219 BEAST_EXPECT(
sane(z));
220 BEAST_EXPECT(z == b0);
224 testcase(
"Allocation, Deallocation and Clearing");
232 BEAST_EXPECT(
sane(x));
233 BEAST_EXPECT(x.size() == i);
234 BEAST_EXPECT((x.data() ==
nullptr) == (i == 0));
238 BEAST_EXPECT(
sane(x));
239 BEAST_EXPECT(x.size() == i + 1);
240 BEAST_EXPECT(x.data() !=
nullptr);
244 BEAST_EXPECT(
sane(x));
245 BEAST_EXPECT(x.size() == 0);
246 BEAST_EXPECT(x.data() ==
nullptr);
250 BEAST_EXPECT(
sane(x));
251 BEAST_EXPECT(x.size() == 0);
252 BEAST_EXPECT(x.data() ==
nullptr);