const char test0[]= { 0x38, 0x80, 0x80, 0x80, 0x80 };  // empty
const char test1[]= { 0x10 };  // empty dict
const char test2[]= { 0x20 };  // empty list

const char test3[]= { 0x50 };  // empty int

const char test4[]= { 0x40 };  // empty string
const char test5[]= { 0x50 };  // tiny 0
const char test6[]= { 0x52 };  // tiny 1

const char test7[]= { 0xd0, 0x7f }; // tiny 0x3f8

// does not work for benc
const char test8[]= { 0x12, 0x50, 0x21, 0x52, 0x52, 0x21, 0x53}; // { 0=>[2], 1=>[3] }

const char test9[]= { 0x22, 0x44, 'A', 'B', 'C', 'D', 0x42, 'O', 'K'}; // [ "ABCD", "OK" ]
const char testA[]= { 0x23, 0xd1, 0x70, 0xd1, 0x7f, 0xd2, 0x91, 0x22}; // [ 0x80, 0x7f, 0x2211 ]
const char testB[]= { 0x12, 0x44, 'A', 'B', 'C', 'D', 0x21, 0x52, 0x42, 'O', 'K', 0x21, 0x53}; // { "ABCD"=>[2], "OK"=>[3] }
const char testC[]= { 0x3e, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07 };  // 0x7060504030201

const char testD[]= { 0x23, 0x3e, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x38, 0x00, 0x00, 0x00, 0x80, 0x00 };  // [0x7060504030201, 0x80000000, undef ]

#ifndef _WIN32
// fails because empty
const char testZ[]= { };  // empty
#endif

std::string gtests[]= {
    std::string(test0, sizeof(test0)),
    std::string(test1, sizeof(test1)),
    std::string(test2, sizeof(test2)),
    std::string(test3, sizeof(test3)),
    std::string(test4, sizeof(test4)),
    std::string(test5, sizeof(test5)),
    std::string(test6, sizeof(test6)),
    std::string(test7, sizeof(test7)),
    std::string(test8, sizeof(test8)),
    std::string(test9, sizeof(test9)),
    std::string(testA, sizeof(testA)),
    std::string(testB, sizeof(testB)),
    std::string(testC, sizeof(testC)),
    std::string(testD, sizeof(testD)),
};
#define NGTESTS (sizeof(gtests)/sizeof(*gtests))


