Exemplo n.º 1
0
 void test() override {
     Cerealiser cereal;
     cereal.writeBits(4, 3);
     cereal.writeBits(7, 3);
     cereal.writeBits(23, 5);
     cereal.writeBits(1, 2);
     cereal.writeBits(2, 3);
     checkEqual(cereal.getBytes(), std::vector<uint8_t>({0x9e, 0xea}));
 }
Exemplo n.º 2
0
 void test() override {
     Cerealiser cereal;
     cereal.writeBits(1, 1);
     cereal.writeBits(3, 2);
     cereal.writeBits(0, 1);
     cereal.writeBits(5, 3);
     cereal.writeBits(1, 1);
     checkEqual(cereal.getBytes(), std::vector<uint8_t>({0xeb}));
 }
Exemplo n.º 3
0
 void test() override {
     {
         Cerealiser cereal;
         cereal.writeBits(1, 9);
         cereal.writeBits(15, 7);
         checkEqual(cereal.getBytes(), std::vector<uint8_t>({0x00, 0x8f}));
     }
     {
         Cerealiser cereal;
         cereal.writeBits((0x9e << 1) | 1, 9);
         cereal.writeBits(0xea & 0x7f, 7);
         checkEqual(cereal.getBytes(), std::vector<uint8_t>({0x9e, 0xea}));
     }
 }
Exemplo n.º 4
0
std::vector<ubyte> encode(T msg) {
    Cerealiser cereal;
    cereal << msg;
    return cereal.getBytes();
}
Exemplo n.º 5
0
 void test() override {
     Cerealiser cereal;
     cereal.writeBits(0x4, 4);
     cereal.writeBits(0xf, 4);
     checkEqual(cereal.getBytes(), std::vector<uint8_t>({0x4f}));
 }