| Home | Trees | Indices | Help |
|---|
|
|
1
2 # The contents of this file are subject to the Mozilla Public License
3 # (MPL) Version 1.1 (the "License"); you may not use this file except
4 # in compliance with the License. You may obtain a copy of the License
5 # at http://www.mozilla.org/MPL/
6 #
7 # Software distributed under the License is distributed on an "AS IS"
8 # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
9 # the License for the specific language governing rights and
10 # limitations under the License.
11 #
12 # The Original Code is LEPL (http://www.acooke.org/lepl)
13 # The Initial Developer of the Original Code is Andrew Cooke.
14 # Portions created by the Initial Developer are Copyright (C) 2009-2010
15 # Andrew Cooke (andrew@acooke.org). All Rights Reserved.
16 #
17 # Alternatively, the contents of this file may be used under the terms
18 # of the LGPL license (the GNU Lesser General Public License,
19 # http://www.gnu.org/licenses/lgpl.html), in which case the provisions
20 # of the LGPL License are applicable instead of those above.
21 #
22 # If you wish to allow use of your version of this file only under the
23 # terms of the LGPL License and not to allow others to use your version
24 # of this file under the MPL, indicate your decision by deleting the
25 # provisions above and replace them with the notice and other provisions
26 # required by the LGPL License. If you do not delete the provisions
27 # above, a recipient may use your version of this file under either the
28 # MPL or the LGPL License.
29
30 '''
31 Tests for the lepl.bin.encode module.
32 '''
33
34 if bytes is str:
35 print('Binary parsing unsupported in this Python version')
36 else:
37
38 from unittest import TestCase
39
40 from lepl.bin import *
41
42
43 # pylint: disable-msg=C0103, C0111, C0301
44 # (dude this is just a test)
45
46
48 '''
49 Test whether we correctly encode
50 '''
51
53 mac = parse('''
54 Frame(
55 Header(
56 preamble = 0b10101010*7,
57 start = 0b10101011,
58 destn = 010203040506x0,
59 source = 0708090a0b0cx0,
60 ethertype = 0800x0
61 ),
62 Data(1/8,2/8,3/8,4/8),
63 CRC(234d0/4.)
64 )
65 ''')
66
67 serial = simple_serialiser(mac, dispatch_table())
68 bs = serial.bytes()
69 for _index in range(7):
70 b = next(bs)
71 assert b == BitString.from_int('0b10101010').to_int(), b
72 b = next(bs)
73 assert b == BitString.from_int('0b10101011').to_int(), b
74
| Home | Trees | Indices | Help |
|---|
| Generated by Epydoc 3.0.1 on Sat Jun 9 21:51:02 2012 | http://epydoc.sourceforge.net |