Skip to content

Commit ff85fc9

Browse files
committed
rename extra_tests to prefix form
1 parent aca6043 commit ff85fc9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+383
-378
lines changed

extra_tests/snippets/builtin_complex.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import testutils
12
from testutils import assert_raises
23

34
# __abs__
@@ -209,3 +210,18 @@ def __eq__(self, other):
209210
assert complex('1e-500') == 0.0 + 0.0j
210211
assert complex('-1e-500j') == 0.0 - 0.0j
211212
assert complex('-1e-500+1e-500j') == -0.0 + 0.0j
213+
214+
215+
# __complex__
216+
def test__complex__():
217+
z = 3 + 4j
218+
assert z.__complex__() == z
219+
assert type(z.__complex__()) == complex
220+
221+
class complex_subclass(complex):
222+
pass
223+
z = complex_subclass(3 + 4j)
224+
assert z.__complex__() == 3 + 4j
225+
assert type(z.__complex__()) == complex
226+
227+
testutils.skip_if_unsupported(3, 11, test__complex__)

extra_tests/snippets/builtin_slice.py

Lines changed: 128 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,138 @@
11
from testutils import assert_raises
22

3-
a = []
4-
assert a[:] == []
5-
assert a[: 2 ** 100] == []
6-
assert a[-2 ** 100 :] == []
7-
assert a[:: 2 ** 100] == []
8-
assert a[10:20] == []
9-
assert a[-20:-10] == []
3+
a = slice(10)
4+
assert a.start == None
5+
assert a.stop == 10
6+
assert a.step == None
7+
8+
a = slice(0, 10, 1)
9+
assert a.start == 0
10+
assert a.stop == 10
11+
assert a.step == 1
12+
13+
assert slice(10).__repr__() == 'slice(None, 10, None)'
14+
assert slice(None).__repr__() == 'slice(None, None, None)'
15+
assert slice(0, 10, 13).__repr__() == 'slice(0, 10, 13)'
16+
assert slice('0', 1.1, 2+3j).__repr__() == "slice('0', 1.1, (2+3j))"
17+
18+
assert slice(10) == slice(10)
19+
assert slice(-1) != slice(1)
20+
assert slice(0, 10, 3) != slice(0, 11, 3)
21+
assert slice(0, None, 3) != slice(0, 'a', 3)
22+
assert slice(0, 'a', 3) == slice(0, 'a', 3)
23+
24+
assert slice(0, 0, 0).__eq__(slice(0, 0, 0))
25+
assert not slice(0, 0, 1).__eq__(slice(0, 0, 0))
26+
assert not slice(0, 1, 0).__eq__(slice(0, 0, 0))
27+
assert not slice(1, 0, 0).__eq__(slice(0, 0, 0))
28+
assert slice(1, 0, 0).__ne__(slice(0, 0, 0))
29+
assert slice(0, 1, 0).__ne__(slice(0, 0, 0))
30+
assert slice(0, 0, 1).__ne__(slice(0, 0, 0))
31+
32+
assert slice(0).__eq__(0) == NotImplemented
33+
assert slice(0).__ne__(0) == NotImplemented
34+
assert slice(None).__ne__(slice(0))
35+
36+
# slice gt, ge, lt, le
37+
assert_raises(TypeError, lambda: slice(0, slice(), 0) < slice(0, 0, 0))
38+
assert_raises(TypeError, lambda: slice(0, slice(), 0) <= slice(0, 0, 0))
39+
assert_raises(TypeError, lambda: slice(0, slice(), 0) > slice(0, 0, 0))
40+
assert_raises(TypeError, lambda: slice(0, slice(), 0) >= slice(0, 0, 0))
41+
42+
assert_raises(TypeError, lambda: slice(0, 0, 0) < slice(0, 0, slice()))
43+
assert_raises(TypeError, lambda: slice(0, 0, 0) <= slice(0, 0, slice()))
44+
assert_raises(TypeError, lambda: slice(0, 0, 0) > slice(0, 0, slice()))
45+
assert_raises(TypeError, lambda: slice(0, 0, 0) >= slice(0, 0, slice()))
46+
47+
assert_raises(TypeError, lambda: slice(0, 0) >= slice(0, 0, 0))
48+
assert_raises(TypeError, lambda: slice(0, 0) <= slice(0, 0, 0))
49+
assert_raises(TypeError, lambda: slice(0, 0) < slice(0, 0, 0))
50+
assert_raises(TypeError, lambda: slice(0, 0) > slice(0, 0, 0))
51+
52+
assert slice(0, 0, 0) < slice(0, 1, -1)
53+
assert slice(0, 0, 0) < slice(0, 0, 1)
54+
assert slice(0, 0, 0) > slice(0, 0, -1)
55+
assert slice(0, 0, 0) >= slice(0, 0, -1)
56+
assert not slice(0, 0, 0) <= slice(0, 0, -1)
57+
58+
assert slice(0, 0, 0) > slice(0, -1, 1)
59+
assert slice(0, 0, 0) >= slice(0, -1, 1)
60+
assert slice(0, 0, 0) >= slice(0, -1, 1)
61+
62+
assert slice(0, 0, 0) <= slice(0, 0, 1)
63+
assert slice(0, 0, 0) <= slice(0, 0, 0)
64+
assert slice(0, 0, 0) <= slice(0, 0, 0)
65+
assert not slice(0, 0, 0) > slice(0, 0, 0)
66+
assert not slice(0, 0, 0) < slice(0, 0, 0)
67+
68+
assert not slice(0, float('nan'), float('nan')) <= slice(0, float('nan'), 1)
69+
assert not slice(0, float('nan'), float('nan')) <= slice(0, float('nan'), float('nan'))
70+
assert not slice(0, float('nan'), float('nan')) >= slice(0, float('nan'), float('nan'))
71+
assert not slice(0, float('nan'), float('nan')) < slice(0, float('nan'), float('nan'))
72+
assert not slice(0, float('nan'), float('nan')) > slice(0, float('nan'), float('nan'))
73+
74+
assert slice(0, float('inf'), float('inf')) >= slice(0, float('inf'), 1)
75+
assert slice(0, float('inf'), float('inf')) <= slice(0, float('inf'), float('inf'))
76+
assert slice(0, float('inf'), float('inf')) >= slice(0, float('inf'), float('inf'))
77+
assert not slice(0, float('inf'), float('inf')) < slice(0, float('inf'), float('inf'))
78+
assert not slice(0, float('inf'), float('inf')) > slice(0, float('inf'), float('inf'))
79+
80+
assert_raises(TypeError, lambda: slice(0) < 3)
81+
assert_raises(TypeError, lambda: slice(0) > 3)
82+
assert_raises(TypeError, lambda: slice(0) <= 3)
83+
assert_raises(TypeError, lambda: slice(0) >= 3)
84+
85+
assert_raises(TypeError, hash, slice(0))
86+
assert_raises(TypeError, hash, slice(None))
87+
88+
def dict_slice():
89+
d = {}
90+
d[slice(0)] = 3
91+
92+
assert_raises(TypeError, dict_slice)
93+
94+
assert slice(None ).indices(10) == (0, 10, 1)
95+
assert slice(None, None, 2).indices(10) == (0, 10, 2)
96+
assert slice(1, None, 2).indices(10) == (1, 10, 2)
97+
assert slice(None, None, -1).indices(10) == (9, -1, -1)
98+
assert slice(None, None, -2).indices(10) == (9, -1, -2)
99+
assert slice(3, None, -2).indices(10) == (3, -1, -2)
100+
101+
# issue 3004 tests
102+
assert slice(None, -9).indices(10) == (0, 1, 1)
103+
assert slice(None, -10).indices(10) == (0, 0, 1)
104+
assert slice(None, -11).indices(10) == (0, 0, 1)
105+
assert slice(None, -10, -1).indices(10) == (9, 0, -1)
106+
assert slice(None, -11, -1).indices(10) == (9, -1, -1)
107+
assert slice(None, -12, -1).indices(10) == (9, -1, -1)
108+
assert slice(None, 9).indices(10) == (0, 9, 1)
109+
assert slice(None, 10).indices(10) == (0, 10, 1)
110+
assert slice(None, 11).indices(10) == (0, 10, 1)
111+
assert slice(None, 8, -1).indices(10) == (9, 8, -1)
112+
assert slice(None, 9, -1).indices(10) == (9, 9, -1)
113+
assert slice(None, 10, -1).indices(10) == (9, 9, -1)
114+
115+
assert \
116+
slice(-100, 100).indices(10) == \
117+
slice(None ).indices(10)
118+
119+
assert \
120+
slice(100, -100, -1).indices(10) == \
121+
slice(None, None, -1).indices(10)
122+
123+
assert slice(-100, 100, 2).indices(10) == (0, 10, 2)
124+
125+
try:
126+
slice(None, None, 0)
127+
assert "zero step" == "throws an exception"
128+
except:
129+
pass
10130

131+
a = []
11132
b = [1, 2]
12-
13-
assert b[:] == [1, 2]
14-
assert b[slice(None)] == [1, 2]
15-
assert b[: 2 ** 100] == [1, 2]
16-
assert b[-2 ** 100 :] == [1, 2]
17-
assert b[2 ** 100 :] == []
18-
assert b[:: 2 ** 100] == [1]
19-
assert b[-10:1] == [1]
20-
assert b[0:0] == []
21-
assert b[1:0] == []
22-
23-
assert_raises(ValueError, lambda: b[::0], _msg='zero step slice')
24-
25-
assert b[::-1] == [2, 1]
26-
assert b[1::-1] == [2, 1]
27-
assert b[0::-1] == [1]
28-
assert b[0:-5:-1] == [1]
29-
assert b[:0:-1] == [2]
30-
assert b[5:0:-1] == [2]
31-
32133
c = list(range(10))
33-
34-
assert c[9:6:-3] == [9]
35-
assert c[9::-3] == [9, 6, 3, 0]
36-
assert c[9::-4] == [9, 5, 1]
37-
assert c[8 :: -2 ** 100] == [8]
38-
39-
assert c[7:7:-2] == []
40-
assert c[7:8:-2] == []
41-
42134
d = "123456"
43135

44-
assert d[3::-1] == "4321"
45-
assert d[4::-3] == "52"
46-
47-
assert [1, 2, 3, 5, 6][-1:-5:-1] == [6, 5, 3, 2] # #746
48-
49136
slice_a = slice(5)
50137
assert slice_a.start is None
51138
assert slice_a.stop == 5
File renamed without changes.

0 commit comments

Comments
 (0)