30
30
from io import BytesIO
31
31
from unittest import TestCase
32
32
from .. import pnm
33
+ from ..pnm .pbm_binary import iterbits , reverse
33
34
from .displayio_shared_bindings import Bitmap_C_Interface , Palette_C_Interface
34
35
35
36
36
- class TestPnmLoad (TestCase ):
37
+ class TestPbmLoad (TestCase ):
37
38
def test_load_fails_with_no_header_data (self ):
38
39
file = BytesIO (b"some initial binary data: \x00 \x01 " )
39
40
try :
@@ -78,7 +79,7 @@ def test_load_works_p4_in_mem(self):
78
79
self .assertEqual (4 , bitmap .width )
79
80
self .assertEqual (2 , bitmap .height )
80
81
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 ))
82
83
palette .validate ()
83
84
84
85
def test_load_works_p4_binary (self ):
@@ -123,3 +124,18 @@ def test_load_works_p4_binary_high_res(self):
123
124
bitmap .validate ()
124
125
self .assertEqual (1 , palette .num_colors )
125
126
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