|
|
|
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)
|