diff --git a/tests/test_core.py b/tests/test_core.py index 2c4cb62..4d3bfd2 100644 --- a/tests/test_core.py +++ b/tests/test_core.py @@ -7,8 +7,6 @@ import doctest -import itertools -import operator import sys import unittest @@ -32,171 +30,6 @@ def setUp(self): pass - def test_len_slice(self): - with self.assertRaises(core.UnknownSliceLengthException): - core.len_slice(slice(None)) - - for size in [10, 11, 12]: - excess = size + 3 - each_range = range(size) - for start in itertools.chain([None], irange(-excess, excess)): - for stop in itertools.chain([None], irange(-excess, excess)): - for step in itertools.chain(irange(-excess, excess)): - step = None if step == 0 else step - - a_slice = slice(start, stop, step) - - l = core.len_slice(a_slice, size) - self.assertEqual( - l, - len(each_range[a_slice]) - ) - - a_slice = list() - a_slice.append(0 if start is None else start) - a_slice.append(0 if stop is None else stop) - a_slice.append(0 if step is None else step) - - a_op = operator.itemgetter(*a_slice) - - expected_result = None - try: - expected_result = a_op(each_range) - except IndexError: - pass - - if expected_result is not None: - l = core.len_slice(a_slice, size) - self.assertEqual(len(expected_result), l) - - if start is not None: - a_slice = start - - with self.assertRaises(TypeError): - core.len_slice(a_slice, size) - - self.assertEqual( - core.len_slice(Ellipsis, size), - len(each_range[:]) - ) - - self.assertEqual( - core.len_slice(tuple(), size), - len(each_range[:]) - ) - - - def test_len_slices(self): - with self.assertRaises(core.UnknownSliceLengthException): - core.len_slices(( - slice(None), - slice(3, None), - slice(None, 5), - slice(None, None, 2) - )) - - l = core.len_slices(Ellipsis, 10) - self.assertEqual( - l, - (10,) - ) - - l = core.len_slices(tuple(), 10) - self.assertEqual( - l, - (10,) - ) - - l = core.len_slices(slice(None), 10) - self.assertEqual( - l, - (10,) - ) - - l = core.len_slices((slice(None),), 10) - self.assertEqual( - l, - (10,) - ) - - l = core.len_slices( - ( - -1, - slice(None), - slice(3, None), - slice(None, 5), - slice(None, None, 2), - [-1, -2, -1, 1, 5] - ), - (12, 10, 13, 15, 20, 10) - ) - self.assertEqual( - l, - (10, 10, 5, 10, 5) - ) - - l = core.len_slices( - Ellipsis, - (2, 3, 4, 5) - ) - self.assertEqual( - l, - (2, 3, 4, 5) - ) - - l = core.len_slices( - ( - Ellipsis, - slice(0, 1) - ), - (2, 3, 4, 5) - ) - self.assertEqual( - l, - (2, 3, 4, 1) - ) - - l = core.len_slices( - ( - slice(0, 1), - Ellipsis - ), - (2, 3, 4, 5) - ) - self.assertEqual( - l, - (1, 3, 4, 5) - ) - - l = core.len_slices( - ( - slice(0, 1), - Ellipsis, - slice(0, 1) - ), - (2, 3, 4, 5) - ) - self.assertEqual( - l, - (1, 3, 4, 1) - ) - - l = core.len_slices( - ( - slice(0, 1), - Ellipsis, - slice(0, 1), - slice(0, 1), - slice(0, 1) - ), - (2, 3, 4, 5) - ) - self.assertEqual( - l, - (1, 1, 1, 1) - ) - - def test_split_blocks(self): with self.assertRaises(ValueError) as e: core.split_blocks((1,), (1, 2), (1, 2, 3))