def test_stamp(self): # SETUP expected_report = """\ create_polygon 0 0 -9 -5 -7 0 -9 5 0 0 fill='#000000' outline='' create_line 0 0 -9 -5 fill='#000000' pensize=1 create_line -9 -5 -7 0 fill='#000000' pensize=1 create_line -7 0 -9 5 fill='#000000' pensize=1 create_line -9 5 0 0 fill='#000000' pensize=1 """ # EXEC t = MockTurtle() t.stamp() report = t.report # VERIFY self.assertEqual(expected_report.splitlines(), report)
def test_clearstamp(patched_turtle): expected_report = """\ create_polygon 0 0 -9 -5 -7 0 -9 5 fill='black' outline='' create_line 0 0 -9 -5 fill='black' pensize=1 create_line -9 -5 -7 0 fill='black' pensize=1 create_line -7 0 -9 5 fill='black' pensize=1 create_line -9 5 0 0 fill='black' pensize=1 """ t = MockTurtle() stamp1 = t.stamp() t.up() t.forward(100) stamp2 = t.stamp() t.clearstamp(stamp2) report = t.report assert report == expected_report.splitlines() assert stamp1 != stamp2
def test_stamp(patched_turtle): expected_report = """\ create_polygon 0 0 -9 -5 -7 0 -9 5 0 0 fill='#000000' outline='' create_line 0 0 -9 -5 fill='#000000' pensize=1 create_line -9 -5 -7 0 fill='#000000' pensize=1 create_line -7 0 -9 5 fill='#000000' pensize=1 create_line -9 5 0 0 fill='#000000' pensize=1 """ t = MockTurtle() t.stamp() report = t.report assert report == expected_report.splitlines()
def test_forgotten_end_fill_with_stamp(self): # SETUP expected_report = """\ create_polygon 0 0 -9 -5 -7 0 -9 5 0 0 fill='#000000' outline='' create_line 0 0 -9 -5 fill='#000000' pensize=1 create_line -9 -5 -7 0 fill='#000000' pensize=1 create_line -7 0 -9 5 fill='#000000' pensize=1 create_line -9 5 0 0 fill='#000000' pensize=1 create_line 0 0 100 0 fill='#ff0000' pensize=1 create_line 100 0 100 100 fill='#ff0000' pensize=1 """ # EXEC t = MockTurtle() t.stamp() t.color('red', 'blue') t.begin_fill() for _ in range(2): t.fd(100) t.right(90) report = t.report # VERIFY self.assertEqual(expected_report.splitlines(), report)
def test_forgotten_end_fill_with_stamp(patched_turtle): expected_report = """\ create_polygon 0 0 -9 -5 -7 0 -9 5 0 0 fill='#000000' outline='' create_line 0 0 -9 -5 fill='#000000' pensize=1 create_line -9 -5 -7 0 fill='#000000' pensize=1 create_line -7 0 -9 5 fill='#000000' pensize=1 create_line -9 5 0 0 fill='#000000' pensize=1 create_line 0 0 100 0 fill='#ff0000' pensize=1 create_line 100 0 100 100 fill='#ff0000' pensize=1 """ t = MockTurtle() t.stamp() t.color('red', 'blue') t.begin_fill() for _ in range(2): t.fd(100) t.right(90) report = t.report assert report == expected_report.splitlines()
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()