tests
This commit is contained in:
parent
59e581a58d
commit
950bc8f560
@ -1,3 +1,6 @@
|
|||||||
|
0.5.0
|
||||||
|
- tests
|
||||||
|
- fix page drawing
|
||||||
0.4.0
|
0.4.0
|
||||||
- ILI9486, XPT2046
|
- ILI9486, XPT2046
|
||||||
- rotation
|
- rotation
|
||||||
|
@ -23,18 +23,23 @@ class Page(Pixel, metaclass=abc.ABCMeta):
|
|||||||
steps = [length for _ in range(0, step)]
|
steps = [length for _ in range(0, step)]
|
||||||
if step * length < required_length:
|
if step * length < required_length:
|
||||||
offset = len(steps) // 2
|
offset = len(steps) // 2
|
||||||
|
rest = required_length - step * length
|
||||||
steps_even = True if len(steps) & 1 == 0 else False
|
steps_even = True if len(steps) & 1 == 0 else False
|
||||||
|
rest_even = True if rest & 1 == 0 else False
|
||||||
appendix = 0
|
appendix = 0
|
||||||
for idx in range(0, required_length - step * length):
|
for idx in range(0, rest):
|
||||||
steps[offset + appendix] += 1
|
steps[offset + appendix] += 1
|
||||||
if steps_even:
|
if steps_even:
|
||||||
appendix = self._calculate_appendix(appendix)
|
appendix = self._calculate_appendix(appendix)
|
||||||
elif idx > 0:
|
elif idx > 0 and rest_even:
|
||||||
|
appendix = self._calculate_appendix(appendix)
|
||||||
|
elif not rest_even:
|
||||||
appendix = self._calculate_appendix(appendix)
|
appendix = self._calculate_appendix(appendix)
|
||||||
|
|
||||||
return steps
|
return steps
|
||||||
|
|
||||||
def _calculate_appendix(self, appendix):
|
def _calculate_appendix(self, appendix):
|
||||||
|
"""calculate appendix during drawing a line"""
|
||||||
if appendix == 0:
|
if appendix == 0:
|
||||||
appendix = -1
|
appendix = -1
|
||||||
elif appendix < 0:
|
elif appendix < 0:
|
||||||
@ -67,8 +72,6 @@ class Page(Pixel, metaclass=abc.ABCMeta):
|
|||||||
step = height + 1
|
step = height + 1
|
||||||
length = width // step
|
length = width // step
|
||||||
steps = self._calculate_steps(length, step, width)
|
steps = self._calculate_steps(length, step, width)
|
||||||
print("width ", width, " heught ", height)
|
|
||||||
print("steps", steps)
|
|
||||||
else:
|
else:
|
||||||
height += 1
|
height += 1
|
||||||
if pos_y2 < pos_y1:
|
if pos_y2 < pos_y1:
|
||||||
@ -80,8 +83,6 @@ class Page(Pixel, metaclass=abc.ABCMeta):
|
|||||||
step = width + 1
|
step = width + 1
|
||||||
length = height // step
|
length = height // step
|
||||||
steps = self._calculate_steps(length, step, height)
|
steps = self._calculate_steps(length, step, height)
|
||||||
print("length ", length, " heught ", height)
|
|
||||||
print("steps", steps)
|
|
||||||
delta_y = 0
|
delta_y = 0
|
||||||
delta_x = 0
|
delta_x = 0
|
||||||
for idx, step in enumerate(steps):
|
for idx, step in enumerate(steps):
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
from nose.tools import assert_equal
|
|
||||||
|
|
||||||
|
|
||||||
class DummyTest(object):
|
|
||||||
def test_init(self):
|
|
||||||
assert_equal(1, 1)
|
|
@ -89,7 +89,6 @@ class TestPageDrawing(object):
|
|||||||
buffer[7][0] = 2
|
buffer[7][0] = 2
|
||||||
buffer[8][0] = 2
|
buffer[8][0] = 2
|
||||||
buffer[9][0] = 2
|
buffer[9][0] = 2
|
||||||
self.draw_buffer(self.lcd.buffer)
|
|
||||||
assert_equal(self.lcd.buffer, buffer)
|
assert_equal(self.lcd.buffer, buffer)
|
||||||
|
|
||||||
def test_draw_diagonal_line_even_steps(self):
|
def test_draw_diagonal_line_even_steps(self):
|
||||||
@ -105,11 +104,10 @@ class TestPageDrawing(object):
|
|||||||
buffer[7][1] = 16+32
|
buffer[7][1] = 16+32
|
||||||
buffer[8][1] = 64
|
buffer[8][1] = 64
|
||||||
buffer[9][1] = 128
|
buffer[9][1] = 128
|
||||||
|
|
||||||
self.draw_buffer(self.lcd.buffer)
|
self.draw_buffer(self.lcd.buffer)
|
||||||
assert_equal(self.lcd.buffer, buffer)
|
assert_equal(self.lcd.buffer, buffer)
|
||||||
|
|
||||||
def test_draw_diagonal_line_odd_steps_even_rest(self):
|
def test_draw_diagonal_line_even_steps_even_rest(self):
|
||||||
self.lcd.draw_line(0, 0, 9, 5)
|
self.lcd.draw_line(0, 0, 9, 5)
|
||||||
buffer = self.get_buffer()
|
buffer = self.get_buffer()
|
||||||
buffer[0][0] = 1
|
buffer[0][0] = 1
|
||||||
@ -123,23 +121,87 @@ class TestPageDrawing(object):
|
|||||||
buffer[8][0] = 16
|
buffer[8][0] = 16
|
||||||
buffer[9][0] = 32
|
buffer[9][0] = 32
|
||||||
|
|
||||||
self.draw_buffer(self.lcd.buffer)
|
|
||||||
assert_equal(self.lcd.buffer, buffer)
|
assert_equal(self.lcd.buffer, buffer)
|
||||||
|
|
||||||
def test_draw_diagonal_line_odd_steps_odd_rest(self):
|
def test_draw_diagonal_line_odd_steps_even_rest(self):
|
||||||
self.lcd.draw_line(0, 0, 9, 6)
|
self.lcd.draw_line(0, 0, 9, 6)
|
||||||
buffer = self.get_buffer()
|
buffer = self.get_buffer()
|
||||||
buffer[0][0] = 1
|
buffer[0][0] = 1
|
||||||
buffer[1][0] = 2
|
buffer[1][0] = 2
|
||||||
buffer[2][0] = 2
|
buffer[2][0] = 4
|
||||||
buffer[3][0] = 4
|
buffer[3][0] = 4
|
||||||
buffer[4][0] = 4
|
buffer[4][0] = 8
|
||||||
buffer[5][0] = 8
|
buffer[5][0] = 8
|
||||||
buffer[6][0] = 8
|
buffer[6][0] = 16
|
||||||
buffer[7][0] = 16
|
buffer[7][0] = 16
|
||||||
buffer[8][0] = 16
|
buffer[8][0] = 32
|
||||||
buffer[9][0] = 32
|
buffer[9][0] = 64
|
||||||
|
|
||||||
|
assert_equal(self.lcd.buffer, buffer)
|
||||||
|
|
||||||
|
def test_draw_diagonal_line_even_steps_odd_rest(self):
|
||||||
|
self.lcd.draw_line(0, 0, 9, 6)
|
||||||
|
buffer = self.get_buffer()
|
||||||
|
buffer[0][0] = 1
|
||||||
|
buffer[1][0] = 2
|
||||||
|
buffer[2][0] = 4
|
||||||
|
buffer[3][0] = 4
|
||||||
|
buffer[4][0] = 8
|
||||||
|
buffer[5][0] = 8
|
||||||
|
buffer[6][0] = 16
|
||||||
|
buffer[7][0] = 16
|
||||||
|
buffer[8][0] = 32
|
||||||
|
buffer[9][0] = 64
|
||||||
|
|
||||||
|
assert_equal(self.lcd.buffer, buffer)
|
||||||
|
|
||||||
|
def test_fill_rect(self):
|
||||||
|
self.lcd.fill_rect(2, 2, 7, 11)
|
||||||
|
buffer = self.get_buffer()
|
||||||
|
buffer[2][0] = 4+8+16+32+64+128
|
||||||
|
buffer[3][0] = 4+8+16+32+64+128
|
||||||
|
buffer[4][0] = 4+8+16+32+64+128
|
||||||
|
buffer[5][0] = 4+8+16+32+64+128
|
||||||
|
buffer[6][0] = 4+8+16+32+64+128
|
||||||
|
buffer[7][0] = 4+8+16+32+64+128
|
||||||
|
buffer[2][1] = 1+2+4+8
|
||||||
|
buffer[3][1] = 1+2+4+8
|
||||||
|
buffer[4][1] = 1+2+4+8
|
||||||
|
buffer[5][1] = 1+2+4+8
|
||||||
|
buffer[6][1] = 1+2+4+8
|
||||||
|
buffer[7][1] = 1+2+4+8
|
||||||
|
assert_equal(self.lcd.buffer, buffer)
|
||||||
|
|
||||||
|
def test_draw_circle(self):
|
||||||
|
self.lcd.draw_circle(5, 8, 3)
|
||||||
|
buffer = self.get_buffer()
|
||||||
|
buffer[2][0] = 128
|
||||||
|
buffer[3][0] = 64+128
|
||||||
|
buffer[4][0] = 32+64
|
||||||
|
buffer[5][0] = 32
|
||||||
|
buffer[6][0] = 32+64
|
||||||
|
buffer[7][0] = 64+128
|
||||||
|
buffer[8][0] = 128
|
||||||
|
buffer[2][1] = 1+2
|
||||||
|
buffer[3][1] = 2+4
|
||||||
|
buffer[4][1] = 4+8
|
||||||
|
buffer[5][1] = 8
|
||||||
|
buffer[6][1] = 4+8
|
||||||
|
buffer[7][1] = 2+4
|
||||||
|
buffer[8][1] = 1+2
|
||||||
|
assert_equal(self.lcd.buffer, buffer)
|
||||||
|
|
||||||
|
def test_draw_arc(self):
|
||||||
|
self.lcd.draw_arc(5, 8, 3, 90, 270)
|
||||||
|
buffer = self.get_buffer()
|
||||||
|
buffer[2][0] = 128
|
||||||
|
buffer[3][0] = 64+128
|
||||||
|
buffer[4][0] = 32+64
|
||||||
|
buffer[5][0] = 32
|
||||||
|
buffer[2][1] = 1+2
|
||||||
|
buffer[3][1] = 2+4
|
||||||
|
buffer[4][1] = 4+8
|
||||||
|
buffer[5][1] = 8
|
||||||
self.draw_buffer(self.lcd.buffer)
|
self.draw_buffer(self.lcd.buffer)
|
||||||
assert_equal(self.lcd.buffer, buffer)
|
assert_equal(self.lcd.buffer, buffer)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user