WIP: tests for QStringView and QByteArrayView bindings

This commit is contained in:
Matthias Koefferlein 2021-12-04 09:03:59 +01:00
parent 125543957d
commit e677cc7300
4 changed files with 289 additions and 47 deletions

View File

@ -237,7 +237,7 @@ A::qsv_cref_to_ia (const QStringView &qs)
QStringView
A::ia_cref_to_qsv (const std::vector<int> &ia)
{
QString s;
static QString s;
for (std::vector<int>::const_iterator i = ia.begin (); i != ia.end (); ++i) {
s.push_back (char (*i));
}
@ -281,8 +281,8 @@ A::ia_cref_to_ba (const std::vector<int> &ia)
return ba;
}
const std::vector<char> &
A::ia_cref_to_ba_cref (const std::vector<int> &ia)
std::vector<char> &
A::ia_cref_to_ba_ref (const std::vector<int> &ia)
{
static std::vector<char> ba;
ba.clear ();
@ -1002,8 +1002,8 @@ static gsi::Class<A> decl_a ("", "A",
gsi::method ("ia_cref_to_qba", &A::ia_cref_to_qba) +
gsi::method ("ia_cref_to_qba_cref", &A::ia_cref_to_qba_cref) +
gsi::method ("ia_cref_to_qba_ref", &A::ia_cref_to_qba_ref) +
gsi::method ("ia_cptr_to_qba_cptr", &A::ia_cref_to_qba_cptr) +
gsi::method ("ia_cptr_to_qba_ptr", &A::ia_cref_to_qba_ptr) +
gsi::method ("ia_cref_to_qba_cptr", &A::ia_cref_to_qba_cptr) +
gsi::method ("ia_cref_to_qba_ptr", &A::ia_cref_to_qba_ptr) +
gsi::method ("qs_cref_to_ia", &A::qs_cref_to_ia) +
gsi::method ("qs_ref_to_ia", &A::qs_ref_to_ia) +
@ -1013,8 +1013,8 @@ static gsi::Class<A> decl_a ("", "A",
gsi::method ("ia_cref_to_qs", &A::ia_cref_to_qs) +
gsi::method ("ia_cref_to_qs_cref", &A::ia_cref_to_qs_cref) +
gsi::method ("ia_cref_to_qs_ref", &A::ia_cref_to_qs_ref) +
gsi::method ("ia_cptr_to_qs_cptr", &A::ia_cref_to_qs_cptr) +
gsi::method ("ia_cptr_to_qs_ptr", &A::ia_cref_to_qs_ptr) +
gsi::method ("ia_cref_to_qs_cptr", &A::ia_cref_to_qs_cptr) +
gsi::method ("ia_cref_to_qs_ptr", &A::ia_cref_to_qs_ptr) +
#if QT_VERSION >= 0x60000
@ -1026,8 +1026,8 @@ static gsi::Class<A> decl_a ("", "A",
gsi::method ("ia_cref_to_qbav", &A::ia_cref_to_qbav) +
gsi::method ("ia_cref_to_qbav_cref", &A::ia_cref_to_qbav_cref) +
gsi::method ("ia_cref_to_qbav_ref", &A::ia_cref_to_qbav_ref) +
gsi::method ("ia_cptr_to_qbav_cptr", &A::ia_cref_to_qbav_cptr) +
gsi::method ("ia_cptr_to_qbav_ptr", &A::ia_cref_to_qbav_ptr) +
gsi::method ("ia_cref_to_qbav_cptr", &A::ia_cref_to_qbav_cptr) +
gsi::method ("ia_cref_to_qbav_ptr", &A::ia_cref_to_qbav_ptr) +
gsi::method ("qsv_cref_to_ia", &A::qsv_cref_to_ia) +
gsi::method ("qsv_ref_to_ia", &A::qsv_ref_to_ia) +
@ -1037,8 +1037,8 @@ static gsi::Class<A> decl_a ("", "A",
gsi::method ("ia_cref_to_qsv", &A::ia_cref_to_qsv) +
gsi::method ("ia_cref_to_qsv_cref", &A::ia_cref_to_qsv_cref) +
gsi::method ("ia_cref_to_qsv_ref", &A::ia_cref_to_qsv_ref) +
gsi::method ("ia_cptr_to_qsv_cptr", &A::ia_cref_to_qsv_cptr) +
gsi::method ("ia_cptr_to_qsv_ptr", &A::ia_cref_to_qsv_ptr) +
gsi::method ("ia_cref_to_qsv_cptr", &A::ia_cref_to_qsv_cptr) +
gsi::method ("ia_cref_to_qsv_ptr", &A::ia_cref_to_qsv_ptr) +
#endif
@ -1049,8 +1049,12 @@ static gsi::Class<A> decl_a ("", "A",
gsi::method ("ba_cptr_to_ia", &A::ba_cptr_to_ia) +
gsi::method ("ba_ptr_to_ia", &A::ba_ptr_to_ia) +
gsi::method ("ba_to_ia", &A::ba_to_ia) +
gsi::method ("ia_cref_to_ba", &A::ia_cref_to_ba) +
gsi::method ("ia_cref_to_ba_ref", &A::ia_cref_to_ba_ref) +
gsi::method ("ia_cref_to_ba_cref", &A::ia_cref_to_ba_cref) +
gsi::method ("ia_cref_to_ba_ptr", &A::ia_cref_to_ba_ptr) +
gsi::method ("ia_cref_to_ba_cptr", &A::ia_cref_to_ba_cptr) +
gsi::method ("br", &A::br) +
gsi::method ("get_e", &A::get_e) +

View File

@ -203,7 +203,10 @@ struct A
* @brief Byte sequences: tests return of std::vector<char>
*/
static std::vector<char> ia_cref_to_ba (const std::vector<int> &ia);
static const std::vector<char> &ia_cref_to_ba_cref (const std::vector<int> &ia);
static std::vector<char> &ia_cref_to_ba_ref (const std::vector<int> &ia);
static const std::vector<char> &ia_cref_to_ba_cref (const std::vector<int> &ia) { return ia_cref_to_ba_ref (ia); }
static std::vector<char> *ia_cref_to_ba_ptr (const std::vector<int> &ia) { return &ia_cref_to_ba_ref (ia); }
static const std::vector<char> *ia_cref_to_ba_cptr (const std::vector<int> &ia) { return &ia_cref_to_ba_ref (ia); }
/*
* @brief A dummy method providing a chance to set a breakpoint in the script

View File

@ -2847,22 +2847,23 @@ class BasicTest(unittest.TestCase):
self.assertEqual(sc.got_s0a, 0)
self.assertEqual(sc.got_s0b, 0)
def test_74(self):
def test_QByteArray(self):
# binary strings
# QByteArray
if "ia_cref_to_qba" in pya.A.__dict__:
qba = pya.A.ia_cref_to_qba([ 17, 42, 0, 8 ])
qba = pya.A.ia_cref_to_qba([ 16, 42, 0, 8 ])
if sys.version_info < (3, 0):
self.assertEqual(repr(qba), "bytearray(b'\\x11*\\x00\\x08')")
self.assertEqual(repr(qba), "bytearray(b'\\x10*\\x00\\x08')")
else:
self.assertEqual(repr(qba), "b'\\x11*\\x00\\x08'")
self.assertEqual(pya.A.qba_to_ia(qba), [ 17, 42, 0, 8 ])
self.assertEqual(pya.A.qba_cref_to_ia(qba), [ 17, 42, 0, 8 ])
self.assertEqual(pya.A.qba_cptr_to_ia(qba), [ 17, 42, 0, 8 ])
self.assertEqual(pya.A.qba_ref_to_ia(qba), [ 17, 42, 0, 8 ])
self.assertEqual(pya.A.qba_ptr_to_ia(qba), [ 17, 42, 0, 8 ])
self.assertEqual(repr(qba), "b'\\x10*\\x00\\x08'")
self.assertEqual(pya.A.qba_to_ia(qba), [ 16, 42, 0, 8 ])
self.assertEqual(pya.A.qba_cref_to_ia(qba), [ 16, 42, 0, 8 ])
self.assertEqual(pya.A.qba_cptr_to_ia(qba), [ 16, 42, 0, 8 ])
self.assertEqual(pya.A.qba_ref_to_ia(qba), [ 16, 42, 0, 8 ])
self.assertEqual(pya.A.qba_ptr_to_ia(qba), [ 16, 42, 0, 8 ])
qba = pya.A.ia_cref_to_qba_cref([ 17, 42, 0, 8 ])
if sys.version_info < (3, 0):
@ -2870,8 +2871,132 @@ class BasicTest(unittest.TestCase):
else:
self.assertEqual(repr(qba), "b'\\x11*\\x00\\x08'")
qba = pya.A.ia_cref_to_qba_ref([ 18, 42, 0, 8 ])
if sys.version_info < (3, 0):
self.assertEqual(repr(qba), "bytearray(b'\\x12*\\x00\\x08')")
else:
self.assertEqual(repr(qba), "b'\\x12*\\x00\\x08'")
qba = pya.A.ia_cref_to_qba_cptr([ 19, 42, 0, 8 ])
if sys.version_info < (3, 0):
self.assertEqual(repr(qba), "bytearray(b'\\x13*\\x00\\x08')")
else:
self.assertEqual(repr(qba), "b'\\x13*\\x00\\x08'")
qba = pya.A.ia_cref_to_qba_ptr([ 20, 42, 0, 8 ])
if sys.version_info < (3, 0):
self.assertEqual(repr(qba), "bytearray(b'\\x14*\\x00\\x08')")
else:
self.assertEqual(repr(qba), "b'\\x14*\\x00\\x08'")
self.assertEqual(pya.A.qba_to_ia(b'\x00\x01\x02'), [ 0, 1, 2 ])
def test_QByteArrayView(self):
# QByteArrayView
if "ia_cref_to_qbav" in pya.A.__dict__:
qbav = pya.A.ia_cref_to_qbav([ 16, 42, 0, 8 ])
if sys.version_info < (3, 0):
self.assertEqual(repr(qbav), "bytearray(b'\\x10*\\x00\\x08')")
else:
self.assertEqual(repr(qbav), "b'\\x10*\\x00\\x08'")
self.assertEqual(pya.A.qbav_to_ia(qbav), [ 16, 42, 0, 8 ])
self.assertEqual(pya.A.qbav_cref_to_ia(qbav), [ 16, 42, 0, 8 ])
self.assertEqual(pya.A.qbav_cptr_to_ia(qbav), [ 16, 42, 0, 8 ])
self.assertEqual(pya.A.qbav_ref_to_ia(qbav), [ 16, 42, 0, 8 ])
self.assertEqual(pya.A.qbav_ptr_to_ia(qbav), [ 16, 42, 0, 8 ])
qbav = pya.A.ia_cref_to_qbav_cref([ 17, 42, 0, 8 ])
if sys.version_info < (3, 0):
self.assertEqual(repr(qbav), "bytearray(b'\\x11*\\x00\\x08')")
else:
self.assertEqual(repr(qbav), "b'\\x11*\\x00\\x08'")
qbav = pya.A.ia_cref_to_qbav_ref([ 18, 42, 0, 8 ])
if sys.version_info < (3, 0):
self.assertEqual(repr(qbav), "bytearray(b'\\x12*\\x00\\x08')")
else:
self.assertEqual(repr(qbav), "b'\\x12*\\x00\\x08'")
qbav = pya.A.ia_cref_to_qbav_cptr([ 19, 42, 0, 8 ])
if sys.version_info < (3, 0):
self.assertEqual(repr(qbav), "bytearray(b'\\x13*\\x00\\x08')")
else:
self.assertEqual(repr(qbav), "b'\\x13*\\x00\\x08'")
qbav = pya.A.ia_cref_to_qbav_ptr([ 20, 42, 0, 8 ])
if sys.version_info < (3, 0):
self.assertEqual(repr(qbav), "bytearray(b'\\x14*\\x00\\x08')")
else:
self.assertEqual(repr(qbav), "b'\\x14*\\x00\\x08'")
self.assertEqual(pya.A.qbav_to_ia(b'\x00\x01\x02'), [ 0, 1, 2 ])
def test_QString(self):
# QString
if "ia_cref_to_qs" in pya.A.__dict__:
qs = pya.A.ia_cref_to_qs([ 16, 42, 0, 8 ])
self.assertEqual(repr(qs), "'\\x10*\\x00\\x08'")
self.assertEqual(pya.A.qs_to_ia(qs), [ 16, 42, 0, 8 ])
self.assertEqual(pya.A.qs_cref_to_ia(qs), [ 16, 42, 0, 8 ])
self.assertEqual(pya.A.qs_cptr_to_ia(qs), [ 16, 42, 0, 8 ])
self.assertEqual(pya.A.qs_ref_to_ia(qs), [ 16, 42, 0, 8 ])
self.assertEqual(pya.A.qs_ptr_to_ia(qs), [ 16, 42, 0, 8 ])
qs = pya.A.ia_cref_to_qs_cref([ 17, 42, 0, 8 ])
self.assertEqual(repr(qs), "'\\x11*\\x00\\x08'")
qs = pya.A.ia_cref_to_qs_ref([ 18, 42, 0, 8 ])
self.assertEqual(repr(qs), "'\\x12*\\x00\\x08'")
qs = pya.A.ia_cref_to_qs_cptr([ 19, 42, 0, 8 ])
self.assertEqual(repr(qs), "'\\x13*\\x00\\x08'")
qs = pya.A.ia_cref_to_qs_ptr([ 20, 42, 0, 8 ])
self.assertEqual(repr(qs), "'\\x14*\\x00\\x08'")
self.assertEqual(pya.A.qs_to_ia('\x00\x01\x02'), [ 0, 1, 2 ])
def test_QStringView(self):
# QStringView
if "ia_cref_to_qsv" in pya.A.__dict__:
qsv = pya.A.ia_cref_to_qsv([ 16, 42, 0, 8 ])
self.assertEqual(repr(qsv), "'\\x10*\\x00\\x08'")
self.assertEqual(pya.A.qsv_to_ia(qsv), [ 16, 42, 0, 8 ])
self.assertEqual(pya.A.qsv_cref_to_ia(qsv), [ 16, 42, 0, 8 ])
self.assertEqual(pya.A.qsv_cptr_to_ia(qsv), [ 16, 42, 0, 8 ])
self.assertEqual(pya.A.qsv_ref_to_ia(qsv), [ 16, 42, 0, 8 ])
self.assertEqual(pya.A.qsv_ptr_to_ia(qsv), [ 16, 42, 0, 8 ])
qsv = pya.A.ia_cref_to_qsv_cref([ 17, 42, 0, 8 ])
self.assertEqual(repr(qsv), "'\\x11*\\x00\\x08'")
qsv = pya.A.ia_cref_to_qsv_ref([ 18, 42, 0, 8 ])
self.assertEqual(repr(qsv), "'\\x12*\\x00\\x08'")
qsv = pya.A.ia_cref_to_qsv_cptr([ 19, 42, 0, 8 ])
self.assertEqual(repr(qsv), "'\\x13*\\x00\\x08'")
qsv = pya.A.ia_cref_to_qsv_ptr([ 20, 42, 0, 8 ])
self.assertEqual(repr(qsv), "'\\x14*\\x00\\x08'")
self.assertEqual(pya.A.qsv_to_ia('\x00\x01\x02'), [ 0, 1, 2 ])
def test_binaryStrings(self):
# binary strings (non-Qt)
ba = pya.A.ia_cref_to_ba([ 17, 42, 0, 8 ])
if sys.version_info < (3, 0):
self.assertEqual(repr(ba), "bytearray(b'\\x11*\\x00\\x08')")
@ -2892,7 +3017,9 @@ class BasicTest(unittest.TestCase):
self.assertEqual(pya.A.ba_to_ia(b'\x00\x01\x02'), [ 0, 1, 2 ])
# Custom factory implemented in Python
#
def test_80(self):
gc = pya.GObject.g_inst_count()
gf = PyGFactory()
go = pya.GFactory.create_f(gf, 17)

View File

@ -2803,39 +2803,147 @@ class Basic_TestClass < TestBase
end
def test_74
def test_QByteArray
# binary strings
# QByteArray
assert_equal(RBA::A::qba_to_ia(qba), [ 17, 42, 0, 8 ])
assert_equal(RBA::A::qba_cref_to_ia(qba), [ 17, 42, 0, 8 ])
assert_equal(RBA::A::qba_cptr_to_ia(qba), [ 17, 42, 0, 8 ])
assert_equal(RBA::A::qba_ref_to_ia(qba), [ 17, 42, 0, 8 ])
assert_equal(RBA::A::qba_ptr_to_ia(qba), [ 17, 42, 0, 8 ])
if RBA::A.respond_to?(:ia_cref_to_qba)
qba = RBA::A::ia_cref_to_qba([ 16, 42, 0, 8 ])
assert_equal(qba.inspect, "\"\\x10*\\x00\\b\"")
qba = RBA::A::ia_cref_to_qba_cref([ 17, 42, 0, 8 ])
assert_equal(qba.inspect, "\"\\x11*\\x00\\b\"")
qba = RBA::A::ia_cref_to_qba_ref([ 18, 42, 0, 8 ])
assert_equal(qba.inspect, "\"\\x12*\\x00\\b\"")
qba = RBA::A::ia_cref_to_qba_cptr([ 19, 42, 0, 8 ])
assert_equal(qba.inspect, "\"\\x13*\\x00\\b\"")
qba = RBA::A::ia_cref_to_qba_ptr([ 20, 42, 0, 8 ])
assert_equal(qba.inspect, "\"\\x14*\\x00\\b\"")
qba = RBA::A::ia_cref_to_qba([ 16, 42, 0, 8 ])
assert_equal(qba.inspect, "\"\\x10*\\x00\\b\"")
assert_equal(RBA::A::qba_to_ia("\x00\x01\x02"), [ 0, 1, 2 ])
assert_equal(RBA::A::qba_to_ia(qba), [ 16, 42, 0, 8 ])
assert_equal(RBA::A::qba_cref_to_ia(qba), [ 16, 42, 0, 8 ])
assert_equal(RBA::A::qba_cptr_to_ia(qba), [ 16, 42, 0, 8 ])
assert_equal(RBA::A::qba_ref_to_ia(qba), [ 16, 42, 0, 8 ])
assert_equal(RBA::A::qba_ptr_to_ia(qba), [ 16, 42, 0, 8 ])
ba = RBA::A::ia_cref_to_ba([ 17, 42, 0, 8 ])
assert_equal(ba.inspect, "\"\\x11*\\x00\\b\"")
assert_equal(RBA::A::ba_to_ia(ba), [ 17, 42, 0, 8 ])
assert_equal(RBA::A::ba_cref_to_ia(ba), [ 17, 42, 0, 8 ])
assert_equal(RBA::A::ba_cptr_to_ia(ba), [ 17, 42, 0, 8 ])
assert_equal(RBA::A::ba_ref_to_ia(ba), [ 17, 42, 0, 8 ])
assert_equal(RBA::A::ba_ptr_to_ia(ba), [ 17, 42, 0, 8 ])
qba = RBA::A::ia_cref_to_qba_cref([ 17, 42, 0, 8 ])
assert_equal(qba.inspect, "\"\\x11*\\x00\\b\"")
qba = RBA::A::ia_cref_to_qba_ref([ 18, 42, 0, 8 ])
assert_equal(qba.inspect, "\"\\x12*\\x00\\b\"")
qba = RBA::A::ia_cref_to_qba_cptr([ 19, 42, 0, 8 ])
assert_equal(qba.inspect, "\"\\x13*\\x00\\b\"")
qba = RBA::A::ia_cref_to_qba_ptr([ 20, 42, 0, 8 ])
assert_equal(qba.inspect, "\"\\x14*\\x00\\b\"")
assert_equal(RBA::A::qba_to_ia("\x00\x01\x02"), [ 0, 1, 2 ])
end
end
def test_QByteArrayView
# QByteArrayView
if RBA::A.respond_to?(:ia_cref_to_qba)
qbav = RBA::A::ia_cref_to_qbav([ 16, 42, 0, 8 ])
assert_equal(qbav.inspect, "\"\\x10*\\x00\\b\"")
assert_equal(RBA::A::qbav_to_ia(qbav), [ 16, 42, 0, 8 ])
assert_equal(RBA::A::qbav_cref_to_ia(qbav), [ 16, 42, 0, 8 ])
assert_equal(RBA::A::qbav_cptr_to_ia(qbav), [ 16, 42, 0, 8 ])
assert_equal(RBA::A::qbav_ref_to_ia(qbav), [ 16, 42, 0, 8 ])
assert_equal(RBA::A::qbav_ptr_to_ia(qbav), [ 16, 42, 0, 8 ])
qbav = RBA::A::ia_cref_to_qbav_cref([ 17, 42, 0, 8 ])
assert_equal(qbav.inspect, "\"\\x11*\\x00\\b\"")
qbav = RBA::A::ia_cref_to_qbav_ref([ 18, 42, 0, 8 ])
assert_equal(qbav.inspect, "\"\\x12*\\x00\\b\"")
qbav = RBA::A::ia_cref_to_qbav_cptr([ 19, 42, 0, 8 ])
assert_equal(qbav.inspect, "\"\\x13*\\x00\\b\"")
qbav = RBA::A::ia_cref_to_qbav_ptr([ 20, 42, 0, 8 ])
assert_equal(qbav.inspect, "\"\\x14*\\x00\\b\"")
assert_equal(RBA::A::qbav_to_ia("\x00\x01\x02"), [ 0, 1, 2 ])
end
end
def test_QString
# QString
if RBA::A.respond_to?(:ia_cref_to_qba)
qs = RBA::A::ia_cref_to_qs([ 16, 42, 0, 8 ])
assert_equal(qs.inspect, "\"\\x10*\\x00\\b\"")
assert_equal(RBA::A::qs_to_ia(qs), [ 16, 42, 0, 8 ])
assert_equal(RBA::A::qs_cref_to_ia(qs), [ 16, 42, 0, 8 ])
assert_equal(RBA::A::qs_cptr_to_ia(qs), [ 16, 42, 0, 8 ])
assert_equal(RBA::A::qs_ref_to_ia(qs), [ 16, 42, 0, 8 ])
assert_equal(RBA::A::qs_ptr_to_ia(qs), [ 16, 42, 0, 8 ])
qs = RBA::A::ia_cref_to_qs_cref([ 17, 42, 0, 8 ])
assert_equal(qs.inspect, "\"\\x11*\\x00\\b\"")
qs = RBA::A::ia_cref_to_qs_ref([ 18, 42, 0, 8 ])
assert_equal(qs.inspect, "\"\\x12*\\x00\\b\"")
qs = RBA::A::ia_cref_to_qs_cptr([ 19, 42, 0, 8 ])
assert_equal(qs.inspect, "\"\\x13*\\x00\\b\"")
qs = RBA::A::ia_cref_to_qs_ptr([ 20, 42, 0, 8 ])
assert_equal(qs.inspect, "\"\\x14*\\x00\\b\"")
assert_equal(RBA::A::qs_to_ia("\x00\x01\x02"), [ 0, 1, 2 ])
end
end
def test_QStringView
# QStringView
if RBA::A.respond_to?(:ia_cref_to_qs)
qsv = RBA::A::ia_cref_to_qsv([ 16, 42, 0, 8 ])
assert_equal(qsv.inspect, "\"\\x10*\\x00\\b\"")
assert_equal(RBA::A::qsv_to_ia(qsv), [ 16, 42, 0, 8 ])
assert_equal(RBA::A::qsv_cref_to_ia(qsv), [ 16, 42, 0, 8 ])
assert_equal(RBA::A::qsv_cptr_to_ia(qsv), [ 16, 42, 0, 8 ])
assert_equal(RBA::A::qsv_ref_to_ia(qsv), [ 16, 42, 0, 8 ])
assert_equal(RBA::A::qsv_ptr_to_ia(qsv), [ 16, 42, 0, 8 ])
qsv = RBA::A::ia_cref_to_qsv_cref([ 17, 42, 0, 8 ])
assert_equal(qsv.inspect, "\"\\x11*\\x00\\b\"")
qsv = RBA::A::ia_cref_to_qsv_ref([ 18, 42, 0, 8 ])
assert_equal(qsv.inspect, "\"\\x12*\\x00\\b\"")
qsv = RBA::A::ia_cref_to_qsv_cptr([ 19, 42, 0, 8 ])
assert_equal(qsv.inspect, "\"\\x13*\\x00\\b\"")
qsv = RBA::A::ia_cref_to_qsv_ptr([ 20, 42, 0, 8 ])
assert_equal(qsv.inspect, "\"\\x14*\\x00\\b\"")
assert_equal(RBA::A::qsv_to_ia("\x00\x01\x02"), [ 0, 1, 2 ])
end
end
def test_binaryStrings
# binary strings (non-Qt)
ba = RBA::A::ia_cref_to_ba([ 16, 42, 1, 8 ])
assert_equal(ba.inspect, "\"\\x10*\\x01\\b\"")
assert_equal(RBA::A::ba_to_ia(ba), [ 16, 42, 1, 8 ])
assert_equal(RBA::A::ba_cref_to_ia(ba), [ 16, 42, 1, 8 ])
assert_equal(RBA::A::ba_cptr_to_ia(ba), [ 16, 42, 1, 8 ])
assert_equal(RBA::A::ba_ref_to_ia(ba), [ 16, 42, 1, 8 ])
assert_equal(RBA::A::ba_ptr_to_ia(ba), [ 16, 42, 1, 8 ])
ba = RBA::A::ia_cref_to_ba_cref([ 17, 42, 0, 8 ])
assert_equal(ba.inspect, "\"\\x11*\\x00\\b\"")
ba = RBA::A::ia_cref_to_ba_ref([ 18, 42, 0, 8 ])
assert_equal(ba.inspect, "\"\\x12*\\x00\\b\"")
ba = RBA::A::ia_cref_to_ba_cptr([ 19, 42, 0, 8 ])
assert_equal(ba.inspect, "\"\\x13*\\x00\\b\"")
ba = RBA::A::ia_cref_to_ba_ptr([ 20, 42, 0, 8 ])
assert_equal(ba.inspect, "\"\\x14*\\x00\\b\"")
assert_equal(RBA::A::ba_to_ia("\x00\x01\x02"), [ 0, 1, 2 ])