5050 MessageType26BroadcastUnstructured ,
5151)
5252from pyais .stream import ByteStream , IterMessages
53- from pyais .util import b64encode_str
53+ from pyais .util import SixBitNibleDecoder , b64encode_str
5454from pyais .exceptions import MissingPayloadException
5555
5656
@@ -484,10 +484,8 @@ def test_msg_type_17_a(self):
484484 assert msg ["lat" ] == 3599.2
485485
486486 data = msg ["data" ]
487- bits = bytes2bits (data ).to01 ()
488487
489488 assert data == b'|\x05 V\xc0 p1\xfe \xbb \xf5 )$\xfe 3\xfa )3\xff \xa0 \xfd )2\xfd \xb7 \x06 )"\xfe 8\t )*\xfd \xe9 \x12 ))\xfc \xf7 \x00 )#\xff \xd2 \x0c )\xaa \xaa '
490- assert bits == "0111110000000101010101101100000001110000001100011111111010111011111101010010100100100100111111100011001111111010001010010011001111111111101000001111110100101001001100101111110110110111000001100010100100100010111111100011100000001001001010010010101011111101111010010001001000101001001010011111110011110111000000000010100100100011111111111101001000001100001010011010101010101010"
491489
492490 ensure_type_for_msg_dict (msg )
493491
@@ -502,10 +500,8 @@ def test_msg_type_17_b(self):
502500 assert msg ["lon" ] == 8029.0
503501
504502 data = msg ["data" ]
505- bits = bytes2bits (data ).to01 ()
506503
507504 assert data == b"&\xb8 `\xa1 \x00 \xfc \x90 \x0b Y\x15 \xfc \x8a \r R\x00 TWn~\xc8 \x00 "
508- assert bits == "00100110101110000110000010100001001000000000000011111100100100000000101101011001000101011111110010001010000011010101001000000000010101000101011101101110011111101100100000000000"
509505
510506 ensure_type_for_msg_dict (msg )
511507
@@ -1201,34 +1197,6 @@ def test_types_for_messages(self):
12011197 else :
12021198 types [f_name ] = d_type
12031199
1204- def test_bits2bytes (self ):
1205- self .assertEqual (bits2bytes ("00100110" ), b"&" )
1206- self .assertEqual (bits2bytes ("" ), b"" )
1207- self .assertEqual (bits2bytes ("0010011000100110" ), b"&&" )
1208- self .assertEqual (bits2bytes ("11111111" ), b"\xff " )
1209- self .assertEqual (bits2bytes ("111100001111" ), b"\xf0 \xf0 " )
1210- self .assertEqual (bits2bytes ("1111000011110000" ), b"\xf0 \xf0 " )
1211- self .assertEqual (bits2bytes ("1" ), b"\x80 " )
1212- self .assertEqual (bits2bytes ("10000000" ), b"\x80 " )
1213- self .assertEqual (bits2bytes ("0" * 64 ), b"\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 " )
1214- self .assertEqual (bits2bytes ("1" * 64 ), b"\xff \xff \xff \xff \xff \xff \xff \xff " )
1215- self .assertEqual (bits2bytes ("10" * 32 ), b"\xaa \xaa \xaa \xaa \xaa \xaa \xaa \xaa " )
1216-
1217- def test_bytes2bits (self ):
1218- self .assertEqual (bytes2bits (b"&" ).to01 (), "00100110" )
1219- self .assertEqual (bytes2bits (b"" ).to01 (), "" )
1220- self .assertEqual (bytes2bits (b"&&" ).to01 (), "0010011000100110" )
1221- self .assertEqual (bytes2bits (b"\xff " ).to01 (), "11111111" )
1222- self .assertEqual (
1223- bytes2bits (b"\x00 \x00 \x00 \x00 \x00 \x00 \x00 \x00 " ).to01 (), "0" * 64
1224- )
1225- self .assertEqual (
1226- bytes2bits (b"\xff \xff \xff \xff \xff \xff \xff \xff " ).to01 (), "1" * 64
1227- )
1228- self .assertEqual (
1229- bytes2bits (b"\xaa \xaa \xaa \xaa \xaa \xaa \xaa \xaa " ).to01 (), "10" * 32
1230- )
1231-
12321200 def test_b64encode_str (self ):
12331201 in_val = b"\xaa \xaa \xaa \xaa \xaa \xaa \xaa \xaa "
12341202 cipher = b64encode_str (in_val )
@@ -1655,7 +1623,7 @@ def test_that_the_payload_does_not_change_when_encoding_decoding(self):
16551623 ais = nmea .decode ()
16561624
16571625 orig_bytes = nmea .data
1658- after_bytes = ais .to_bytes ()
1626+ after_bytes , _ = ais .to_bytes ()
16591627
16601628 self .assertEqual (orig_bytes , after_bytes )
16611629
@@ -1666,14 +1634,14 @@ def test_issue_88(self):
16661634 ais = nmea .decode ()
16671635 self .assertIsNotNone (ais )
16681636
1669- def test_decode_into_bit_array_with_non_printable_characters (self ):
1637+ def test_decode_with_non_printable_characters (self ):
16701638 payload = b"3815;`100!Phmn\x1f PPwL=3OmUd0Dg:"
16711639 with self .assertRaises (NonPrintableCharacterException ):
1672- _ = decode_into_bit_array (payload )
1640+ _ = SixBitNibleDecoder (). decode_fast (payload )
16731641
16741642 payload = b"3815;`100!Phmn\x7f PPwL=3OmUd0Dg:"
16751643 with self .assertRaises (NonPrintableCharacterException ):
1676- _ = decode_into_bit_array (payload )
1644+ _ = SixBitNibleDecoder (). decode_fast (payload )
16771645
16781646 def test_gh_ais_message_decode (self ):
16791647 a = b"$PGHP,1,2008,5,9,0,0,0,10,338,2,,1,09*17"
0 commit comments