def test_clear_plots(is_matplotlib_cleared): code1 = """\ import matplotlib.pyplot as plt data = [1, 2] plt.plot(data) plt.show() """ code2 = """\ import matplotlib.pyplot as plt data = [2, 1] plt.plot(data) plt.show() """ tracer = TraceRunner() report1 = tracer.trace_turtle(code1) tracer.trace_turtle(code2) report2 = tracer.trace_turtle(code1) assert report1 == report2
def test_show_with_canvas_size(is_matplotlib_cleared): code = """\ import matplotlib.pyplot as plt data = [1, 2] plt.plot(data) plt.show() """ expected_report = """\ create_image 0 0 image='...' """ tracer = TraceRunner() report = tracer.trace_turtle(code, width=400, height=200) assert expected_report == replace_image(report)
def test_show(is_matplotlib_cleared): code = """\ import matplotlib.pyplot as plt data = [1, 2] plt.plot(data) plt.show() """ expected_report = """\ create_image 0 0 image='...' """ tracer = TraceRunner() report = tracer.trace_turtle(code) assert expected_report == replace_image(report)
def test_turtle(self): # SETUP code = """\ from turtle import * forward(100) """ expected_report = """\ create_line 0 0 100 0 fill='black' pensize=1 """ tracer = TraceRunner() # EXEC report = tracer.trace_turtle(code) # VERIFY self.assertReportEqual(expected_report, report)
def test_anonymous_turtle_after_clearscreen(): source = """\ import turtle as t for i in range(5): t.pensize(i+1) t.forward(20) t.clearscreen() t.forward(30) """ expected_report = """\ create_line 0 0 30 0 fill='black' pensize=1""" runner = TraceRunner() report = runner.trace_turtle(source) assert report == expected_report