def test_rect_draw(self): ascii_canvas = AsciiCanvas(5, 5) ascii_canvas.add_rect(0, 0, 5, 5) canvas_with_rect_str = \ line('ooooo') + \ line('o o') + \ line('o o') + \ line('o o') + \ last('ooooo') self.assertEqual(ascii_canvas.get_canvas_as_str(), canvas_with_rect_str, 'Incorrect canvas with rect') ascii_canvas = AsciiCanvas(5, 5) ascii_canvas.add_rect(0, 0, 5, 5, fill_style=Style('.'), outline_style=Style('#')) canvas_with_rect_str = \ line('#####') + \ line('#...#') + \ line('#...#') + \ line('#...#') + \ last('#####') self.assertEqual(ascii_canvas.get_canvas_as_str(), canvas_with_rect_str, 'Incorrect canvas with rect') ascii_canvas = AsciiCanvas(5, 5) ascii_canvas.add_rect(4, 4, 1, 1) canvas_with_rect_str = \ line(' ') + \ line(' ') + \ line(' ') + \ line(' ') + \ last(' o') self.assertEqual(ascii_canvas.get_canvas_as_str(), canvas_with_rect_str, 'Incorrect canvas with rect') ascii_canvas = AsciiCanvas(2, 2) ascii_canvas.add_rect(1, 1, 0, 0) canvas_with_rect_str = \ line(' ') + \ last(' ') self.assertEqual(ascii_canvas.get_canvas_as_str(), canvas_with_rect_str, 'Incorrect canvas with rect') ascii_canvas = AsciiCanvas(2, 2) ascii_canvas.add_rect(1, 1, -1, -1) canvas_with_rect_str = \ line(' ') + \ last(' ') self.assertEqual(ascii_canvas.get_canvas_as_str(), canvas_with_rect_str, 'Incorrect canvas with rect')
def test_draw_order(self): ascii_canvas = AsciiCanvas(3, 3) ascii_canvas.add_text(0, 0, 'TE') ascii_canvas.add_text(0, 1, 'XT') canvas_str = \ line('TE ') + \ line('XT ') + \ last(' ') self.assertEqual(ascii_canvas.get_canvas_as_str(), canvas_str, 'Incorrect canvas with text') # must overlap the text ascii_canvas.add_rect(0, 0, 3, 3) canvas_str = \ line('ooo') + \ line('o o') + \ last('ooo') self.assertEqual(ascii_canvas.get_canvas_as_str(), canvas_str, 'Incorrect canvas with rect')