def test_undo_pen_change(patched_turtle): expected_report = """\ create_line 0 0 50 0 fill='black' pensize=1 """ t = MockTurtle() t.forward(50) t.right(90) t.forward(20) t.pensize(5) t.undo() t.undo() report = t.report assert report == expected_report.splitlines()
def test_clearscreen(patched_turtle): expected_report = """\ create_line 0 0 20 0 fill='black' pensize=1""" t = MockTurtle() for i in range(4): t.pensize(i + 1) # force new line t.fd(100) t.left(90) t.getscreen().clear() t2 = MockTurtle() t2.fd(20) report = t2.report assert report == expected_report.splitlines() assert not any(item['deleted'] for item in t.getscreen().cv.items)
def test_stamp_while_filling(patched_turtle): expected_report = """\ create_polygon 0 0 40 0 40 40 0 40 fill='#008000' outline='' create_line 0 0 40 0 fill='black' pensize=4 create_line 40 0 40 40 fill='black' pensize=4 create_line 40 40 0 40 fill='black' pensize=4 create_polygon 40 0 45 -9 40 -7 35 -9 fill='#008000' outline='' create_line 40 0 45 -9 fill='black' pensize=1 create_line 45 -9 40 -7 fill='black' pensize=1 create_line 40 -7 35 -9 fill='black' pensize=1 create_line 35 -9 40 0 fill='black' pensize=1 """ t = MockTurtle() t.pensize(4) t.fillcolor('green') t.begin_fill() t.forward(40) t.right(90) t.stamp() t.forward(40) t.right(90) t.forward(40) t.end_fill() report = t.report assert report == expected_report.splitlines()