def test_error_check_index(self): height = 3 int_cases = list(range(0, height)) {HexGrid._error_check_index(index, height) for index in int_cases} slice_cases = list() for start in list(range(0, height)) + [None]: slice_cases.append(slice(start)) for stop in list(range(start or 0, height)) + [None]: for step in [None, 1]: slice_cases.append(slice(start, stop, step)) {HexGrid._error_check_index(index, height) for index in slice_cases} index_error_cases = [ (-1, height), (3, height), (slice(4), height), (slice(-1, 2), height), (slice(1, 4), height), (slice(1, 2, 2), height), ] type_error_cases = ["1", 1.5, (1, 2)] def assertRaises(index, height, error): with self.assertRaises( error, msg=f"{error} not raised index={index}, height={height}"): HexGrid._error_check_index(index, height) { assertRaises(index, height, IndexError) for index, height in index_error_cases } {assertRaises(index, 10, TypeError) for index in index_error_cases}
def assertRaises(index, height, error): with self.assertRaises( error, msg=f"{error} not raised index={index}, height={height}"): HexGrid._error_check_index(index, height)