3030from io import BytesIO
3131from unittest import TestCase
3232from .. import pnm
33+ from ..pnm .pbm_binary import iterbits , reverse
3334from .displayio_shared_bindings import Bitmap_C_Interface , Palette_C_Interface
3435
3536
36- class TestPnmLoad (TestCase ):
37+ class TestPbmLoad (TestCase ):
3738 def test_load_fails_with_no_header_data (self ):
3839 file = BytesIO (b"some initial binary data: \x00 \x01 " )
3940 try :
@@ -78,7 +79,7 @@ def test_load_works_p4_in_mem(self):
7879 self .assertEqual (4 , bitmap .width )
7980 self .assertEqual (2 , bitmap .height )
8081 bitmap .validate ()
81- self .assertEqual ("\n 1 0 1 0\n 1 0 1 0\n " , str (bitmap ))
82+ self .assertEqual ("\n 0 1 0 1\n 0 1 0 1 \n " , str (bitmap ))
8283 palette .validate ()
8384
8485 def test_load_works_p4_binary (self ):
@@ -123,3 +124,18 @@ def test_load_works_p4_binary_high_res(self):
123124 bitmap .validate ()
124125 self .assertEqual (1 , palette .num_colors )
125126 palette .validate ()
127+
128+ def test_iterbits (self ):
129+ k = b'k'
130+ bits = []
131+ for byte in iterbits (k ):
132+ bits .append (byte )
133+ #self.assertEqual([0,1,1,0,1,0,1,1], bits[::-1])
134+ self .assertEqual ([0 ,1 ,1 ,0 ,1 ,0 ,1 ,1 ], bits )
135+
136+ def test_reverse (self ):
137+ # 00110100 to 00101100
138+ self .assertEqual (reverse (0x34 ), 0x2C )
139+ self .assertEqual (reverse (0xFF ), 0xFF )
140+ self .assertEqual (reverse (0x00 ), 0x00 )
141+ self .assertEqual (reverse (0x0E ), 0x70 )
0 commit comments