Package lepl :: Package bin :: Package _test :: Module encode
[hide private]
[frames] | no frames]

Source Code for Module lepl.bin._test.encode

 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       
47 - class EncodeTest(TestCase):
48 ''' 49 Test whether we correctly encode 50 ''' 51
52 - def test_encode(self):
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