Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
09f95473
Kaydet (Commit)
09f95473
authored
Agu 25, 1997
tarafından
Barry Warsaw
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
regression test for new sequence unpacking semantics
üst
9525df03
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
131 additions
and
0 deletions
+131
-0
test_unpack.py
Lib/test/test_unpack.py
+131
-0
No files found.
Lib/test/test_unpack.py
0 → 100644
Dosyayı görüntüle @
09f95473
from
test_support
import
*
t
=
(
1
,
2
,
3
)
l
=
[
4
,
5
,
6
]
class
Seq
:
def
__getitem__
(
self
,
i
):
if
i
>=
0
and
i
<
3
:
return
i
raise
IndexError
a
=
-
1
b
=
-
1
c
=
-
1
# unpack tuple
if
verbose
:
print
'unpack tuple'
a
,
b
,
c
=
t
if
a
<>
1
or
b
<>
2
or
c
<>
3
:
raise
TestFailed
# unpack list
if
verbose
:
print
'unpack list'
a
,
b
,
c
=
l
if
a
<>
4
or
b
<>
5
or
c
<>
6
:
raise
TestFailed
# unpack implied tuple
if
verbose
:
print
'unpack implied tuple'
a
,
b
,
c
=
7
,
8
,
9
if
a
<>
7
or
b
<>
8
or
c
<>
9
:
raise
TestFailed
# unpack string... fun!
if
verbose
:
print
'unpack string'
a
,
b
,
c
=
'one'
if
a
<>
'o'
or
b
<>
'n'
or
c
<>
'e'
:
raise
TestFailed
# unpack generic sequence
if
verbose
:
print
'unpack sequence'
a
,
b
,
c
=
Seq
()
if
a
<>
0
or
b
<>
1
or
c
<>
2
:
raise
TestFailed
# now for some failures
# unpacking non-sequence
if
verbose
:
print
'unpack non-sequence'
try
:
a
,
b
,
c
=
7
raise
TestFailed
except
TypeError
:
pass
# unpacking tuple of wrong size
if
verbose
:
print
'unpack tuple wrong size'
try
:
a
,
b
=
t
raise
TestFailed
except
ValueError
:
pass
# unpacking list of wrong size
if
verbose
:
print
'unpack list wrong size'
try
:
a
,
b
=
l
raise
TestFailed
except
ValueError
:
pass
# unpacking sequence too short
if
verbose
:
print
'unpack sequence too short'
try
:
a
,
b
,
c
,
d
=
Seq
()
raise
TestFailed
except
ValueError
:
pass
# unpacking sequence too long
if
verbose
:
print
'unpack sequence too long'
try
:
a
,
b
=
Seq
()
raise
TestFailed
except
ValueError
:
pass
# unpacking a sequence where the test for too long raises a different
# kind of error
BozoError
=
'BozoError'
class
BadSeq
:
def
__getitem__
(
self
,
i
):
if
i
>=
0
and
i
<
3
:
return
i
elif
i
==
3
:
raise
BozoError
else
:
raise
IndexError
# trigger code while not expecting an IndexError
if
verbose
:
print
'unpack sequence too long, wrong error'
try
:
a
,
b
,
c
,
d
,
e
=
BadSeq
()
raise
TestFailed
except
BozoError
:
pass
# trigger code while expecting an IndexError
if
verbose
:
print
'unpack sequence too short, wrong error'
try
:
a
,
b
,
c
=
BadSeq
()
raise
TestFailed
except
BozoError
:
pass
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