Skip to content

Commit 305bc5d

Browse files
committed
added tests of slice_to_ascending_slice
1 parent 501bfe3 commit 305bc5d

File tree

1 file changed

+63
-0
lines changed

1 file changed

+63
-0
lines changed

test/test_util.py

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -744,6 +744,69 @@ def test_slice_to_ascending_slice_e(self) -> None:
744744
slice_to_ascending_slice_ref(slc, size),
745745
)
746746

747+
def test_slice_to_ascending_slice_f(self) -> None:
748+
749+
a1 = np.arange(10)
750+
751+
def compare(slc: slice) -> None:
752+
slc_asc = slice_to_ascending_slice(slc, len(a1))
753+
self.assertEqual(sorted(a1[slc]), list(a1[slc_asc]))
754+
755+
compare(slice(4,))
756+
compare(slice(6, 1, -1))
757+
compare(slice(6, 1, -2))
758+
compare(slice(6, None, -3))
759+
compare(slice(6, 2, -2))
760+
compare(slice(None, 1, -1))
761+
762+
def test_slice_to_ascending_slice_g(self) -> None:
763+
self.assertEqual(
764+
slice_to_ascending_slice(slice(3, None, -1), 10),
765+
slice(0, 4, None)
766+
)
767+
self.assertEqual(
768+
slice_to_ascending_slice(slice(3, None, -3), 10),
769+
slice(0, 4, 3)
770+
)
771+
self.assertEqual(
772+
slice_to_ascending_slice(slice(-3, 0, -1), 10),
773+
slice(1, 8, None)
774+
)
775+
self.assertEqual(
776+
slice_to_ascending_slice(slice(-3, None, -1), 10),
777+
slice(0, 8, None)
778+
)
779+
self.assertEqual(
780+
slice_to_ascending_slice(slice(-3, 0, -2), 10),
781+
slice(1, 8, 2)
782+
)
783+
self.assertEqual(
784+
slice_to_ascending_slice(slice(-3, None, -2), 10),
785+
slice(1, 8, 2)
786+
)
787+
self.assertEqual(
788+
slice_to_ascending_slice(slice(-3, None, -6), 10),
789+
slice(1, 8, 6)
790+
)
791+
792+
def test_slice_to_ascending_slice_h(self) -> None:
793+
self.assertEqual(
794+
slice_to_ascending_slice(slice(-9, -1, 1), 10),
795+
slice(-9, -1, 1) # ascenidng
796+
)
797+
self.assertEqual(
798+
slice_to_ascending_slice(slice(-9, -1, -1), 10),
799+
slice(2, 2, None) # ascending start stop, descending
800+
)
801+
802+
def test_slice_to_ascending_slice_i(self) -> None:
803+
self.assertEqual(
804+
slice_to_ascending_slice(slice(1, -10, -1), 10), # [1]
805+
slice(1, 2, None)
806+
)
807+
808+
809+
747810

748811
if __name__ == '__main__':
749812
unittest.main()

0 commit comments

Comments
 (0)