import pytest from clusterview.colors import Color 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, Color.GREY, 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): point_set = PointSet(8, 100, 100) point_set.add_point(4, 4, Color.GREY, attrs=[1, 2, 3, 4, 5]) def test_move_point_outside_screen_x_positive(): pt = Point(4, 4, Color.GREY, 8, 100, 100) with pytest.raises(ExceededWindowBoundsError): pt.move(96, 0) def test_move_point_outside_screen_y_positive(): p = Point(4, 4, Color.GREY, 8, 100, 100) with pytest.raises(ExceededWindowBoundsError): p.move(0, 95) def test_move_point_outside_screen_x_negative(): p = Point(4, 4, Color.GREY, 8, 100, 100) with pytest.raises(ExceededWindowBoundsError): p.move(-5, 0) def test_move_point_outside_screen_y_negative(): p = Point(4, 4, Color.GREY, 8, 100, 100) with pytest.raises(ExceededWindowBoundsError): p.move(0, -5)