1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
#!/usr/bin/python
'''Unit tests for QByteArray'''
import unittest
import ctypes
import sys
import pickle
import cStringIO
from PySide.QtCore import *
class QByteArrayTestToNumber(unittest.TestCase):
def testToNumberInt(self):
obj = QByteArray('37')
self.assertEqual((37, True), obj.toInt())
def testToNumberUShort(self):
obj = QByteArray('37')
self.assertEqual((37, True), obj.toUShort())
def testToNumberFloat(self):
obj = QByteArray('37.109')
self.assertEqual((ctypes.c_float(37.109).value, True),
obj.toFloat())
def testToNumberDouble(self):
obj = QByteArray('37.109')
self.assertEqual((ctypes.c_double(37.109).value, True),
obj.toDouble())
class QByteArraySplit(unittest.TestCase):
'''Test case for QByteArray.split'''
def testPathSeparator(self):
#QByteArray.split('/')
obj = QByteArray(unittest.__file__)
self.assertEqual(obj.split('/'), unittest.__file__.split('/'))
class QByteArrayData(unittest.TestCase):
'''Test case for QByteArray.data'''
def testData(self):
url = QByteArray("http://web.openbossa.org/")
self.assertEqual(url.data(), "http://web.openbossa.org/")
def testDataWithZeros(self):
s1 = "123\000321"
ba = QByteArray(s1)
s2 = ba.data()
self.assertEqual(s1, s2)
self.assertEqual(s1, ba)
class QByteArrayOperatorAtSetter(unittest.TestCase):
'''Test case for operator QByteArray[] - __setitem__'''
def testSetterString(self):
'''QByteArray[x] = pythonstring'''
obj = QByteArray('123456')
obj[1] = '0'
self.assertEqual(obj, QByteArray('103456'))
def testSetterStringLarge(self):
'''QByteArray[x] = pythonstring (larget than 1 char)'''
obj = QByteArray('123456')
obj[3] = 'abba'
self.assertEqual(obj, QByteArray('123abba56'))
def testSetterQByteArray(self):
'''QByteArray[x] = qbytearray'''
obj = QByteArray('123456')
obj[3] = QByteArray('array')
self.assertEqual(obj, QByteArray('123array56'))
class QByteArrayOperatorAtSetterNegativeIndex(unittest.TestCase):
'''Test case for QByteArray[] - __setitem__ - for negative index'''
def testSetterNegativeIndex(self):
'''QByteArray[x] = string - negative index'''
obj = QByteArray('123456')
obj[-3] = 'array'
self.assertEqual(obj, QByteArray('123array56'))
class QByteArrayOperatorAtSetterLargeIndex(unittest.TestCase):
'''Test case for QByteArray[] - __setitem__ - for 'overflown' index'''
def testSetterLargeIndexEmpty(self):
'''QByteArray[x] = somestring - Overflow index on empty string'''
# should pad with spaces if the index is larger
obj = QByteArray('')
obj[2] = 'a'
self.assertEqual(obj, QByteArray(' a'))
def testSetterLargeIndexNormal(self):
'''QByteArray[x] = somestring - Overflow index on normal string'''
# should pad with spaces if the index is larger
obj = QByteArray('mystring')
obj[10] = 'normal'
self.assertEqual(obj, QByteArray('mystring normal'))
class QByteArrayOnQVariant(unittest.TestCase):
def testQByteArrayOnQVariant(self):
a = QSettings().value("some_prop", QByteArray())
self.assertEqual(type(a), QByteArray)
class QByteArrayBug514(unittest.TestCase):
def testIt(self):
data = "foobar"
a = QByteArray.fromRawData(data)
self.assertEqual(type(a), QByteArray)
self.assertEqual(a.data(), data)
class TestPickler(unittest.TestCase):
def testIt(self):
ba = QByteArray("321\x00123")
output = cStringIO.StringIO()
pickle.dump(ba, output)
ba2 = pickle.loads(output.getvalue())
self.assertEqual(ba, ba2)
if __name__ == '__main__':
unittest.main()
|