Skip to content

Commit

Permalink
Merge pull request #6904 from Yay295/imagepath_tests
Browse files Browse the repository at this point in the history
More ImagePath tests
  • Loading branch information
radarhere authored May 6, 2023
2 parents 97c0e29 + b2a6ca5 commit 6c800dd
Showing 1 changed file with 46 additions and 29 deletions.
75 changes: 46 additions & 29 deletions Tests/test_imagepath.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,48 +38,65 @@ def test_path():
p.transform((1, 0, 1, 0, 1, 1))
assert list(p) == [(1.0, 2.0), (5.0, 6.0), (9.0, 10.0)]

# alternative constructors
p = ImagePath.Path([0, 1])
assert list(p) == [(0.0, 1.0)]
p = ImagePath.Path([0.0, 1.0])
assert list(p) == [(0.0, 1.0)]
p = ImagePath.Path([0, 1])
assert list(p) == [(0.0, 1.0)]
p = ImagePath.Path([(0, 1)])
assert list(p) == [(0.0, 1.0)]
p = ImagePath.Path(p)
assert list(p) == [(0.0, 1.0)]
p = ImagePath.Path(p.tolist(0))
assert list(p) == [(0.0, 1.0)]
p = ImagePath.Path(p.tolist(1))
assert list(p) == [(0.0, 1.0)]
p = ImagePath.Path(array.array("f", [0, 1]))
assert list(p) == [(0.0, 1.0)]

arr = array.array("f", [0, 1])
p = ImagePath.Path(arr.tobytes())
assert list(p) == [(0.0, 1.0)]
@pytest.mark.parametrize(
"coords",
(
(0, 1),
[0, 1],
(0.0, 1.0),
[0.0, 1.0],
((0, 1),),
[(0, 1)],
((0.0, 1.0),),
[(0.0, 1.0)],
array.array("f", [0, 1]),
array.array("f", [0, 1]).tobytes(),
ImagePath.Path((0, 1)),
),
)
def test_path_constructors(coords):
# Arrange / Act
p = ImagePath.Path(coords)

# Assert
assert list(p) == [(0.0, 1.0)]

def test_invalid_coords():
# Arrange
coords = ["a", "b"]

# Act / Assert
@pytest.mark.parametrize(
"coords",
(
("a", "b"),
([0, 1],),
[[0, 1]],
([0.0, 1.0],),
[[0.0, 1.0]],
),
)
def test_invalid_path_constructors(coords):
# Act
with pytest.raises(ValueError) as e:
ImagePath.Path(coords)

# Assert
assert str(e.value) == "incorrect coordinate type"


def test_path_odd_number_of_coordinates():
# Arrange
coords = [0]

# Act / Assert
@pytest.mark.parametrize(
"coords",
(
(0,),
[0],
(0, 1, 2),
[0, 1, 2],
),
)
def test_path_odd_number_of_coordinates(coords):
# Act
with pytest.raises(ValueError) as e:
ImagePath.Path(coords)

# Assert
assert str(e.value) == "wrong number of coordinates"


Expand Down

0 comments on commit 6c800dd

Please sign in to comment.