Skip to content

Commit 2da2efa

Browse files
committed
Add tests for range
1 parent bedc71c commit 2da2efa

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

py/tests/range.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,44 @@
7676
assert str(range(0, 3)) == 'range(0, 3)'
7777
assert str(range(10, 3, -2)) == 'range(10, 3, -2)'
7878

79+
doc="range_slice"
80+
a = range(10)
81+
assert a[::-1][0] == 9
82+
assert a[::-1][9] == 0
83+
assert a[0:3][0] == 0
84+
assert a[0:3][2] == 2
85+
assert a[-3:10][0] == 7
86+
assert a[-100:13][0] == 0
87+
assert a[-100:13][9] == 9
88+
89+
try:
90+
a[0:3][3]
91+
except IndexError:
92+
pass
93+
else:
94+
assert False, "IndexError not raised"
95+
try:
96+
a[100:13][0]
97+
except IndexError:
98+
pass
99+
else:
100+
assert False, "IndexError not raised"
101+
try:
102+
a[0:3:0]
103+
except ValueError:
104+
pass
105+
else:
106+
assert False, "ValueError not raised"
107+
108+
doc="range_index"
109+
class Index:
110+
def __index__(self):
111+
return 1
112+
113+
a = range(10)
114+
b = Index()
115+
assert a[b] == 1
116+
assert a[b:10] == a[1:10]
117+
assert a[10:b:-1] == a[10:1:-1]
118+
79119
doc="finished"

0 commit comments

Comments
 (0)