summaryrefslogtreecommitdiff
path: root/maximus/python/test/test_utils.py
blob: 20a35f5a15001aba75a0966a85f8116b3419e4a3 (plain)
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
#! usr/bin/env python

print "\n*** " + __file__ + " ***\n"

import startup

from maximus.utils import *
from unicodedata import *

# CONVERTER TEST

# Create data 1 from an hexadecimal value
data1 = Data('0x41424344',16)
print "data 1 =", data1.data
print "base 2 =", data1.base2
print "base 10 =", data1.base10
print "base 16 =", data1.base16
print "bin =", data1.get_bin(32)
print "int =", data1.get_int()
print "hex = ", data1.get_hex(4)
print "str = ", data1.get_str()

# Create data 2 from a string value
data2 = Data(s='ABCD')
print "data 2 =", data2.data
print "base 2 =", data2.base2
print "base 10 =", data2.base10
print "base 16 =", data2.base16
print "bin =", data2.get_bin(32)
print "int =", data2.get_int()
print "hex =", data2.get_hex(4)
print "str =", data2.get_str()

A = unichr(0x41)
print "unichr =", A
B = unicode(0x42)
print "unicode =", B
print "decimal =", decimal(unicode(9))
print "digit =", digit(unicode(8))
print "numeric =", numeric(unicode(7))

# CRC TEST

data = "123456789"
if crc8(data) != 0xf4:
	print "crc8 =", hex(crc8(data))
	raise Error("crc8")
if crc24(data) != 0x21cf02:
	print "crc24 =", hex(crc24(data))
	raise Error("crc24")
if crc32(data) != 0xcbf43926: # 0xfc891918 0x5c0ac4 0x200fa5 0x29b1 0x0c73 0x89 0xf3 0x0ea0b1d3 0x78a26f6f 0xe0b759a4
	print "crc32 =", hex(crc32(data))
	raise Error("crc32")


# DOC TEST

import doctest
doctest.testmod(converter)
doctest.testmod(crc)
doctest.testmod(exception)
doctest.testmod(format)


# UNIT TEST

import unittest

class TestDataFunctions(unittest.TestCase):

	def setUp(self):
		self.data = Data('0x41424344',16)
		self.assertEqual(self.data.base2,"1000001010000100100001101000100")
		self.assertEqual(self.data.base10,1094861636)
		self.assertEqual(self.data.base16,"0x41424344")
		self.assertEqual(self.data.data,"ABCD")
	
	def tearDown(self):
		pass
	
	def test_get_bin(self):
		self.assertEqual(self.data.get_bin(32),"01000001010000100100001101000100")
	
	def test_get_int(self):
		i=0x41424344
		self.assertEqual(self.data.get_int(),1094861636)
		self.assertEqual(self.data.get_int(),i)
	
	def test_get_hex(self):
		self.assertEqual(self.data.get_hex(4),"41424344")
		self.assertEqual(self.data.get_hex(),"41424344")
	
	def test_get_str(self):
		self.assertEqual(self.data.get_str(),"ABCD")

suite = unittest.TestLoader().loadTestsFromTestCase(TestDataFunctions)

try:
	suite.addTest(doctest.DocTestSuite(converter))
	suite.addTest(doctest.DocTestSuite(crc))
	suite.addTest(doctest.DocTestSuite(exception))
	suite.addTest(doctest.DocTestSuite(format))
except ValueError:
	print "has no tests"

if __name__ == '__main__':
	testResult = unittest.TextTestRunner(verbosity=2).run(suite)