A computational geometry learning and experimentation tool.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
937 B

import pytest
from clusterview.exceptions import ExceededWindowBoundsError
from clusterview.points import Point
def test_move_point():
# The minimum starting position is 1/2 point away
# from the edges
p = Point(4, 4, 8, 100, 100)
p.move(1, 1)
assert p.x == 5 and p.y == 5
def test_move_point_outside_screen_x_positive():
p = Point(4, 4, 8, 100, 100)
with pytest.raises(ExceededWindowBoundsError) as exc_info:
p.move(96, 0)
def test_move_point_outside_screen_y_positive():
p = Point(4, 4, 8, 100, 100)
with pytest.raises(ExceededWindowBoundsError):
p.move(0, 95)
def test_move_point_outside_screen_x_negative():
p = Point(4, 4, 8, 100, 100)
with pytest.raises(ExceededWindowBoundsError):
p.move(-5, 0)
def test_move_point_outside_screen_y_negative():
p = Point(4, 4, 8, 100, 100)
with pytest.raises(ExceededWindowBoundsError):
p.move(0, -5)