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);