Skip to content

Commit

Permalink
Make single slice operations private.
Browse files Browse the repository at this point in the history
  • Loading branch information
jakirkham committed Dec 8, 2016
1 parent 2f03b58 commit 5027511
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 37 deletions.
20 changes: 10 additions & 10 deletions kenjutsu/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
import warnings


def reformat_slice(a_slice, a_length=None):
def _reformat_slice(a_slice, a_length=None):
"""
Takes a slice and reformats it to fill in as many undefined values as
possible.
Expand All @@ -47,10 +47,10 @@ def reformat_slice(a_slice, a_length=None):
Examples:
>>> reformat_slice(slice(2, -1, None))
>>> _reformat_slice(slice(2, -1, None))
slice(2, -1, 1)
>>> reformat_slice(slice(2, -1, None), 10)
>>> _reformat_slice(slice(2, -1, None), 10)
slice(2, 9, 1)
"""

Expand All @@ -72,7 +72,7 @@ def reformat_slice(a_slice, a_length=None):
# Normalize each integer in the range.
new_slice = []
for i in a_slice:
new_slice.append(reformat_slice(i, a_length))
new_slice.append(_reformat_slice(i, a_length))
return new_slice
elif not isinstance(a_slice, slice):
raise ValueError(
Expand Down Expand Up @@ -268,7 +268,7 @@ def reformat_slices(slices, lengths=None):

new_slices = list(new_slices)
for i, each_length in enumerate(new_lengths):
new_slices[i] = reformat_slice(new_slices[i], each_length)
new_slices[i] = _reformat_slice(new_slices[i], each_length)

new_slices = tuple(new_slices)

Expand All @@ -283,7 +283,7 @@ class UnknownSliceLengthException(Exception):
pass


def len_slice(a_slice, a_length=None):
def _len_slice(a_slice, a_length=None):
"""
Determines how many elements a slice will contain.
Expand All @@ -303,10 +303,10 @@ def len_slice(a_slice, a_length=None):
Examples:
>>> len_slice(slice(2, None), 10)
>>> _len_slice(slice(2, None), 10)
8
>>> len_slice(slice(2, 6))
>>> _len_slice(slice(2, 6))
4
"""

Expand All @@ -315,7 +315,7 @@ def len_slice(a_slice, a_length=None):
"An integral index does not provide an object with a length."
)

new_slice = reformat_slice(a_slice, a_length)
new_slice = _reformat_slice(a_slice, a_length)

new_slice_size = 0
if isinstance(new_slice, slice):
Expand Down Expand Up @@ -370,7 +370,7 @@ def len_slices(slices, lengths=None):

for each_slice in new_slices:
if not isinstance(each_slice, numbers.Integral):
lens.append(len_slice(each_slice))
lens.append(_len_slice(each_slice))

lens = tuple(lens)

Expand Down
4 changes: 2 additions & 2 deletions kenjutsu/kenjutsu.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ def reformat_slice(a_slice, a_length=None):

from kenjutsu import core

return core.reformat_slice(a_slice, a_length)
return core._reformat_slice(a_slice, a_length)


def reformat_slices(slices, lengths=None):
Expand Down Expand Up @@ -138,7 +138,7 @@ def len_slice(a_slice, a_length=None):

from kenjutsu import core

return core.len_slice(a_slice, a_length)
return core._len_slice(a_slice, a_length)


def len_slices(slices, lengths=None):
Expand Down
50 changes: 25 additions & 25 deletions tests/test_core.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,25 +33,25 @@ def setUp(self):
pass


def test_reformat_slice(self):
def test__reformat_slice(self):
with self.assertRaises(ValueError) as e:
core.reformat_slice(None)
core._reformat_slice(None)

self.assertEqual(
str(e.exception),
"Expected a `slice` type. Instead got `None`."
)

with self.assertRaises(ValueError) as e:
core.reformat_slice(slice(None, None, 0))
core._reformat_slice(slice(None, None, 0))

self.assertEqual(
str(e.exception),
"Slice cannot have a step size of `0`."
)

with self.assertRaises(ValueError) as e:
core.reformat_slice([None])
core._reformat_slice([None])

self.assertEqual(
str(e.exception),
Expand All @@ -70,13 +70,13 @@ def test_reformat_slice(self):

a_slice = slice(start, stop, step)

rf_slice = core.reformat_slice(a_slice)
rf_slice = core._reformat_slice(a_slice)
self.assertEqual(
each_range[a_slice],
each_range[rf_slice]
)

rf_slice = core.reformat_slice(a_slice, size)
rf_slice = core._reformat_slice(a_slice, size)
self.assertEqual(
each_range[a_slice],
each_range[rf_slice]
Expand Down Expand Up @@ -111,23 +111,23 @@ def test_reformat_slice(self):
pass

if expected_result is not None:
rf_slice = core.reformat_slice(a_slice)
rf_slice = core._reformat_slice(a_slice)
rf_op = operator.itemgetter(*rf_slice)
self.assertEqual(
expected_result,
rf_op(each_range)
)

rf_slice = core.reformat_slice(a_slice, size)
rf_slice = core._reformat_slice(a_slice, size)
rf_op = operator.itemgetter(*rf_slice)
self.assertEqual(
expected_result,
rf_op(each_range)
)
else:
core.reformat_slice(a_slice)
core._reformat_slice(a_slice)
with self.assertRaises(IndexError):
core.reformat_slice(a_slice, size)
core._reformat_slice(a_slice, size)

if start is not None:
a_slice = start
Expand All @@ -139,41 +139,41 @@ def test_reformat_slice(self):
pass

if expected_result is not None:
rf_slice = core.reformat_slice(a_slice)
rf_slice = core._reformat_slice(a_slice)
self.assertEqual(
expected_result,
each_range[rf_slice]
)

rf_slice = core.reformat_slice(a_slice, size)
rf_slice = core._reformat_slice(a_slice, size)
self.assertEqual(
expected_result,
each_range[rf_slice]
)
else:
core.reformat_slice(a_slice)
core._reformat_slice(a_slice)
with self.assertRaises(IndexError):
core.reformat_slice(a_slice, size)
core._reformat_slice(a_slice, size)

rf_slice = core.reformat_slice(Ellipsis)
rf_slice = core._reformat_slice(Ellipsis)
self.assertEqual(
each_range[:],
each_range[rf_slice]
)

rf_slice = core.reformat_slice(Ellipsis, size)
rf_slice = core._reformat_slice(Ellipsis, size)
self.assertEqual(
each_range[:],
each_range[rf_slice]
)

rf_slice = core.reformat_slice(tuple())
rf_slice = core._reformat_slice(tuple())
self.assertEqual(
each_range[:],
each_range[rf_slice]
)

rf_slice = core.reformat_slice(tuple(), size)
rf_slice = core._reformat_slice(tuple(), size)
self.assertEqual(
each_range[:],
each_range[rf_slice]
Expand Down Expand Up @@ -399,9 +399,9 @@ def test_reformat_slices(self):
)


def test_len_slice(self):
def test__len_slice(self):
with self.assertRaises(core.UnknownSliceLengthException):
core.len_slice(slice(None))
core._len_slice(slice(None))

for size in [10, 11, 12]:
excess = size + 3
Expand All @@ -413,7 +413,7 @@ def test_len_slice(self):

a_slice = slice(start, stop, step)

l = core.len_slice(a_slice, size)
l = core._len_slice(a_slice, size)
self.assertEqual(
l,
len(each_range[a_slice])
Expand All @@ -433,22 +433,22 @@ def test_len_slice(self):
pass

if expected_result is not None:
l = core.len_slice(a_slice, size)
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)
core._len_slice(a_slice, size)

self.assertEqual(
core.len_slice(Ellipsis, size),
core._len_slice(Ellipsis, size),
len(each_range[:])
)

self.assertEqual(
core.len_slice(tuple(), size),
core._len_slice(tuple(), size),
len(each_range[:])
)

Expand Down

0 comments on commit 5027511

Please sign in to comment.