Skip to content

Commit

Permalink
reformat_slice: Add some more unit tests.
Browse files Browse the repository at this point in the history
Adds some more tests to get full coverage of the `reformat_slice`
function.
  • Loading branch information
jakirkham committed Dec 1, 2016
1 parent 1faf063 commit 5685869
Showing 1 changed file with 102 additions and 0 deletions.
102 changes: 102 additions & 0 deletions tests/test_kenjutsu.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,48 @@ def test_reformat_slice(self):
slice(2, 10, 1)
)

rf_slice = kenjutsu.reformat_slice(slice(2, -1))
self.assertEqual(
rf_slice,
slice(2, -1, 1)
)

rf_slice = kenjutsu.reformat_slice(slice(2, -1), 10)
self.assertEqual(
rf_slice,
slice(2, 9, 1)
)

rf_slice = kenjutsu.reformat_slice(slice(None, None, -1))
self.assertEqual(
rf_slice,
slice(None, None, -1)
)

rf_slice = kenjutsu.reformat_slice(slice(None, None, -1), 10)
self.assertEqual(
rf_slice,
slice(10, None, -1)
)

rf_slice = kenjutsu.reformat_slice(slice(None, None, -20), 10)
self.assertEqual(
rf_slice,
slice(10, None, -10)
)

rf_slice = kenjutsu.reformat_slice(slice(None, None, 20), 10)
self.assertEqual(
rf_slice,
slice(0, 10, 10)
)

rf_slice = kenjutsu.reformat_slice(slice(-15, None, -20), 10)
self.assertEqual(
rf_slice,
slice(0, 0, -10)
)

rf_slice = kenjutsu.reformat_slice(slice(None))
self.assertEqual(
range(10)[rf_slice],
Expand Down Expand Up @@ -142,6 +178,12 @@ def test_reformat_slice(self):
range(10)[-5:-1]
)

rf_slice = kenjutsu.reformat_slice(slice(None, None, -1))
self.assertEqual(
range(10)[rf_slice],
range(10)[::-1]
)

rf_slice = kenjutsu.reformat_slice(slice(None), 10)
self.assertEqual(
range(10)[rf_slice],
Expand Down Expand Up @@ -220,6 +262,66 @@ def test_reformat_slice(self):
range(10)[-5:-1]
)

rf_slice = kenjutsu.reformat_slice(slice(None, None, -1), 10)
self.assertEqual(
range(10)[rf_slice],
range(10)[::-1]
)

rf_slice = kenjutsu.reformat_slice(slice(None, None, -20), 10)
self.assertEqual(
range(10)[rf_slice],
range(10)[::-20]
)

rf_slice = kenjutsu.reformat_slice(slice(None, None, 20), 10)
self.assertEqual(
range(10)[rf_slice],
range(10)[::20]
)

rf_slice = kenjutsu.reformat_slice(slice(-15, None, -20), 10)
self.assertEqual(
range(10)[rf_slice],
range(10)[-15::-20]
)

rf_slice = kenjutsu.reformat_slice(slice(15, None, -20), 10)
self.assertEqual(
range(10)[rf_slice],
range(10)[15::-20]
)

rf_slice = kenjutsu.reformat_slice(slice(-5, None, -2), 10)
self.assertEqual(
range(10)[rf_slice],
range(10)[-5::-2]
)

rf_slice = kenjutsu.reformat_slice(slice(None, -5, -2), 10)
self.assertEqual(
range(10)[rf_slice],
range(10)[:-5:-2]
)

rf_slice = kenjutsu.reformat_slice(slice(None, -15, -2), 10)
self.assertEqual(
range(10)[rf_slice],
range(10)[:-15:-2]
)

rf_slice = kenjutsu.reformat_slice(slice(None, 15, -2), 10)
self.assertEqual(
range(10)[rf_slice],
range(10)[:15:-2]
)

rf_slice = kenjutsu.reformat_slice(slice(None, -3, 2), 10)
self.assertEqual(
range(10)[rf_slice],
range(10)[:-3:2]
)


def test_reformat_slices(self):
rf_slice = kenjutsu.reformat_slices(slice(None))
Expand Down

0 comments on commit 5685869

Please sign in to comment.