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.

43 lines
1.1 KiB

import pytest
from clusterview.exceptions import ExceededWindowBoundsError
from clusterview.points import Point, PointSet
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_attributes_must_be_array_of_attributes():
with pytest.raises(ValueError):
l = PointSet(8, 100, 100)
l.add_point(4, 4, attrs=[1,2,3,4,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)