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)