Esempio n. 1
0
def test_patch_twice():
    MockTurtle.monkey_patch()
    try:
        with pytest.raises(RuntimeError,
                           match=r'MockTurtle is already monkey patched\.'):
            MockTurtle.monkey_patch()
    finally:
        MockTurtle.remove_monkey_patch()
Esempio n. 2
0
def test_is_patched():
    assert not MockTurtle.is_patched()

    MockTurtle.monkey_patch()
    try:
        assert MockTurtle.is_patched()
    finally:
        MockTurtle.remove_monkey_patch()

    assert not MockTurtle.is_patched()
def test_bounds_after_monkey_patch():
    expected_width = 300
    expected_height = 200

    MockTurtle.monkey_patch(canvas=Canvas(expected_width, expected_height))
    try:
        width = turtle.window_width()
        height = turtle.window_height()
    finally:
        MockTurtle.remove_monkey_patch()

    assert width == expected_width
    assert height == expected_height
Esempio n. 4
0
def test_offset():
    MockTurtle.remove_monkey_patch()
    expected_report = """\
create_line
    400
    300
    500
    300
    fill='black'
    pensize=1
"""

    t = MockTurtle(canvas=Canvas(800, 600))
    t.fd(100)
    report = t.report

    assert report == expected_report.splitlines()
Esempio n. 5
0
def test_offset_with_scale():
    """ The offset is applied BEFORE the scale. """

    MockTurtle.remove_monkey_patch()
    expected_report = """\
create_line
    400
    300
    500
    300
    fill='black'
    pensize=1
"""

    t = MockTurtle(canvas=Canvas(800, 600))
    t.screen.xscale = 100
    t.fd(1)
    report = t.report

    assert report == expected_report.splitlines()
def test_display_image_position_with_size():
    expected_report = """\
create_image
    110
    180
    image='UE5HX0lNQUdFX0RBVEE='
"""

    MockTurtle.monkey_patch(Canvas(width=200, height=400))
    try:
        t = MockTurtle()
        image_data = b'PNG_IMAGE_DATA'

        LivePng(image_data).display((10, 20))

        report = t.report
    finally:
        MockTurtle.remove_monkey_patch()

    assert report == expected_report.splitlines()
 def tearDown(self):
     MockTurtle.remove_monkey_patch()
Esempio n. 8
0
def patched_turtle():
    MockTurtle.monkey_patch()
    yield
    MockTurtle.remove_monkey_patch()
Esempio n. 9
0
def test_remove_patch_too_soon():
    with pytest.raises(RuntimeError,
                       match=r'MockTurtle is not monkey patched\.'):
        MockTurtle.remove_monkey_patch()