diff --git a/kenjutsu/kenjutsu.py b/kenjutsu/kenjutsu.py index f2df9c7..7361826 100644 --- a/kenjutsu/kenjutsu.py +++ b/kenjutsu/kenjutsu.py @@ -333,13 +333,17 @@ def split_blocks(space_shape, block_shape, block_halo=None): ifilter, imap = filter, map if block_halo is not None: - assert (len(space_shape) == len(block_shape) == len(block_halo)), \ - "The dimensions of `space_shape`, `block_shape`, and " + \ - "`block_halo` should be the same." + if not (len(space_shape) == len(block_shape) == len(block_halo)): + raise ValueError( + "The dimensions of `space_shape`, `block_shape`, and" + " `block_halo` should be the same." + ) else: - assert (len(space_shape) == len(block_shape)), \ - "The dimensions of `space_shape` and `block_shape` " + \ - "should be the same." + if not (len(space_shape) == len(block_shape)): + raise ValueError( + "The dimensions of `space_shape` and `block_shape` should be" + " the same." + ) block_halo = tuple() for i in irange(len(space_shape)): diff --git a/tests/test_kenjutsu.py b/tests/test_kenjutsu.py index b18bb15..f15386b 100644 --- a/tests/test_kenjutsu.py +++ b/tests/test_kenjutsu.py @@ -196,6 +196,24 @@ def test_len_slices(self): def test_split_blocks(self): + with self.assertRaises(ValueError) as e: + kenjutsu.split_blocks((1,), (1, 2), (1, 2, 3)) + + self.assertEqual( + str(e.exception), + "The dimensions of `space_shape`, `block_shape`, and `block_halo`" + " should be the same." + ) + + with self.assertRaises(ValueError) as e: + kenjutsu.split_blocks((1,), (1, 2)) + + self.assertEqual( + str(e.exception), + "The dimensions of `space_shape` and `block_shape` should be the" + " same." + ) + blocks = kenjutsu.split_blocks((2,), (1,)) self.assertEqual( blocks,