Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
541a8050
Commit
541a8050
authored
Mar 26, 1999
by
Guido van Rossum
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Test suite for UserList.
parent
72a32945
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
177 additions
and
0 deletions
+177
-0
Lib/test/output/test_userlist
Lib/test/output/test_userlist
+1
-0
Lib/test/test_userlist.py
Lib/test/test_userlist.py
+176
-0
No files found.
Lib/test/output/test_userlist
0 → 100644
View file @
541a8050
test_userlist
Lib/test/test_userlist.py
0 → 100644
View file @
541a8050
# Check every path through every method of UserList
from
UserList
import
UserList
l0
=
[]
l1
=
[
0
]
l2
=
[
0
,
1
]
# Test constructors
u
=
UserList
()
u0
=
UserList
(
l0
)
u1
=
UserList
(
l1
)
u2
=
UserList
(
l2
)
uu
=
UserList
(
u
)
uu0
=
UserList
(
u0
)
uu1
=
UserList
(
u1
)
uu2
=
UserList
(
u2
)
# Test __repr__
assert
str
(
u0
)
==
str
(
l0
)
assert
repr
(
u1
)
==
repr
(
l1
)
assert
`u2`
==
`l2`
# Test __cmp__ and __len__
def
mycmp
(
a
,
b
):
r
=
cmp
(
a
,
b
)
if
r
<
0
:
return
-
1
if
r
>
0
:
return
1
return
r
all
=
[
l0
,
l1
,
l2
,
u
,
u0
,
u1
,
u2
,
uu
,
uu0
,
uu1
,
uu2
]
for
a
in
all
:
for
b
in
all
:
assert
mycmp
(
a
,
b
)
==
mycmp
(
len
(
a
),
len
(
b
))
# Test __getitem__
for
i
in
range
(
len
(
u2
)):
assert
u2
[
i
]
==
i
# Test __setitem__
uu2
[
0
]
=
0
uu2
[
1
]
=
100
try
:
uu2
[
2
]
=
200
except
IndexError
:
pass
else
:
assert
0
,
"uu2[2] shouldn't be assignable"
# Test __delitem__
del
uu2
[
1
]
del
uu2
[
0
]
try
:
del
uu2
[
0
]
except
IndexError
:
pass
else
:
assert
0
,
"uu2[0] shouldn't be deletable"
# Test __getslice__
for
i
in
range
(
-
3
,
4
):
assert
u2
[:
i
]
==
l2
[:
i
]
assert
u2
[
i
:]
==
l2
[
i
:]
for
j
in
range
(
-
3
,
4
):
assert
u2
[
i
:
j
]
==
l2
[
i
:
j
]
# Test __setslice__
for
i
in
range
(
-
3
,
4
):
u2
[:
i
]
=
l2
[:
i
]
assert
u2
==
l2
u2
[
i
:]
=
l2
[
i
:]
assert
u2
==
l2
for
j
in
range
(
-
3
,
4
):
u2
[
i
:
j
]
=
l2
[
i
:
j
]
assert
u2
==
l2
uu2
=
u2
[:]
uu2
[:
0
]
=
[
-
2
,
-
1
]
assert
uu2
==
[
-
2
,
-
1
,
0
,
1
]
uu2
[
0
:]
=
[]
assert
uu2
==
[]
# Test __delslice__
uu2
=
u2
[:]
del
uu2
[
1
:
2
]
del
uu2
[
0
:
1
]
assert
uu2
==
[]
uu2
=
u2
[:]
del
uu2
[
1
:]
del
uu2
[:
1
]
assert
uu2
==
[]
# Test __add__, __radd__, __mul__ and __rmul__
assert
u1
+
[]
==
[]
+
u1
==
u1
assert
u1
+
[
1
]
==
u2
assert
[
-
1
]
+
u1
==
[
-
1
,
0
]
assert
u2
==
u2
*
1
==
1
*
u2
assert
u2
+
u2
==
u2
*
2
==
2
*
u2
assert
u2
+
u2
+
u2
==
u2
*
3
==
3
*
u2
# Test append
u
=
u1
[:]
u
.
append
(
1
)
assert
u
==
u2
# Test insert
u
=
u2
[:]
u
.
insert
(
0
,
-
1
)
assert
u
==
[
-
1
,
0
,
1
]
# Test pop
u
=
[
-
1
]
+
u2
u
.
pop
()
assert
u
==
[
-
1
,
0
]
u
.
pop
(
0
)
assert
u
==
[
0
]
# Test remove
u
=
u2
[:]
u
.
remove
(
1
)
assert
u
==
u1
# Test count
u
=
u2
*
3
assert
u
.
count
(
0
)
==
3
assert
u
.
count
(
1
)
==
3
assert
u
.
count
(
2
)
==
0
# Test index
assert
u2
.
index
(
0
)
==
0
assert
u2
.
index
(
1
)
==
1
try
:
u2
.
index
(
2
)
except
ValueError
:
pass
else
:
assert
0
,
"expected ValueError"
# Test reverse
u
=
u2
[:]
u
.
reverse
()
assert
u
==
[
1
,
0
]
u
.
reverse
()
assert
u
==
u2
# Test sort
u
=
UserList
([
1
,
0
])
u
.
sort
()
assert
u
==
u2
# Test extend
u
=
u1
[:]
u
.
extend
(
u2
)
assert
u
==
u1
+
u2
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment