Coverage for app/domain/probe/entities/grid.py: 100%
13 statements
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-16 20:06 +0000
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-16 20:06 +0000
1from app.domain.probe.exceptions import InvalidSizeError
4class Grid:
5 def __init__(self, x_size: int, y_size: int):
6 if x_size < 0:
7 raise InvalidSizeError(f"X ({x_size}) must be a positive integer.")
9 if y_size < 0:
10 raise InvalidSizeError(f"Y ({y_size}) must be a positive integer.")
12 if x_size == 0 and y_size == 0:
13 raise InvalidSizeError(
14 f"At least one value ({x_size}, {y_size}) must be greater than zero."
15 )
17 self.x_size = x_size
18 self.y_size = y_size
20 def is_movement_inside_grid_limits(self, x: int, y: int) -> bool:
21 return 0 <= x <= self.x_size and 0 <= y <= self.y_size