def test_reference(self): typeList = [] typeList.append(apx.DataType("TestType1", "C[8]")) #0 typeList.append(apx.DataType("TestType2", "a[18]")) #1 typeList.append(apx.DataType("TestType3", '{"Name"a[16]"ID"L}')) #2 typeList.append(apx.DataType("TestType3", 'C')) #3 typeList.append(apx.DataType("TestType4", 'S')) #4 typeList.append(apx.DataType("TestType5", 'L')) #5 dsg = apx.DataSignature('T[0]', typeList) self.assertEqual(dsg.packLen(), 8) self.assertTrue(dsg.isComplexType()) dsg = apx.DataSignature('T[1]', typeList) self.assertEqual(dsg.packLen(), 18) self.assertTrue(dsg.isComplexType()) dsg = apx.DataSignature('T[2]', typeList) self.assertEqual(dsg.packLen(), 20) self.assertTrue(dsg.isComplexType()) dsg = apx.DataSignature('T[3]', typeList) self.assertEqual(dsg.packLen(), 1) self.assertFalse(dsg.isComplexType()) dsg = apx.DataSignature('T[4]', typeList) self.assertEqual(dsg.packLen(), 2) self.assertFalse(dsg.isComplexType()) dsg = apx.DataSignature('T[5]', typeList) self.assertEqual(dsg.packLen(), 4) self.assertFalse(dsg.isComplexType())
def test_ctypename(self): dsg = apx.DataSignature('C') self.assertEqual(dsg.ctypename(), 'uint8') dsg = apx.DataSignature('c') self.assertEqual(dsg.ctypename(), 'sint8') dsg = apx.DataSignature('S') self.assertEqual(dsg.ctypename(), 'uint16') dsg = apx.DataSignature('s') self.assertEqual(dsg.ctypename(), 'sint16') dsg = apx.DataSignature('L') self.assertEqual(dsg.ctypename(), 'uint32') dsg = apx.DataSignature('l') self.assertEqual(dsg.ctypename(), 'sint32')
def test_record(self): dsg = apx.DataSignature('{"TrackTitle"a[40]"TrackLength"L}') self.assertEqual(dsg.packLen(), 44)
def test_String(self): dsg = apx.DataSignature('a[21]') self.assertEqual(dsg.packLen(), 21)
def test_S32AR(self): dsg = apx.DataSignature('l[32]') self.assertEqual(dsg.packLen(), 4 * 32)
def test_S16AR(self): dsg = apx.DataSignature('s[16]') self.assertEqual(dsg.packLen(), 2 * 16)
def test_S8AR(self): dsg = apx.DataSignature('c[8]') self.assertEqual(dsg.packLen(), 1 * 8)
def test_S32(self): dsg = apx.DataSignature('l') self.assertEqual(dsg.packLen(), 4)
def test_S16(self): dsg = apx.DataSignature('s') self.assertEqual(dsg.packLen(), 2)
def test_S8(self): dsg = apx.DataSignature('c') self.assertEqual(dsg.packLen(), 1)