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

1from app.domain.probe.exceptions import InvalidSizeError 

2 

3 

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

8 

9 if y_size < 0: 

10 raise InvalidSizeError(f"Y ({y_size}) must be a positive integer.") 

11 

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 ) 

16 

17 self.x_size = x_size 

18 self.y_size = y_size 

19 

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