⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_unp.py

📁 minimal python variant for small footprint apps like embedded apps
💻 PY
字号:
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 IndexErrora = -1b = -1c = -1# unpack tupleif verbose:    print 'unpack tuple'a, b, c = tif a <> 1 or b <> 2 or c <> 3:    raise TestFailed# unpack listif verbose:    print 'unpack list'a, b, c = lif a <> 4 or b <> 5 or c <> 6:    raise TestFailed# unpack implied tupleif verbose:    print 'unpack implied tuple'a, b, c = 7, 8, 9if 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 sequenceif 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-sequenceif verbose:    print 'unpack non-sequence'try:    a, b, c = 7    raise TestFailedexcept TypeError:    pass# unpacking tuple of wrong sizeif verbose:    print 'unpack tuple wrong size'try:    a, b = t    raise TestFailedexcept ValueError:    pass# unpacking list of wrong sizeif verbose:    print 'unpack list wrong size'try:    a, b = l    raise TestFailedexcept ValueError:    pass# unpacking sequence too shortif verbose:    print 'unpack sequence too short'try:    a, b, c, d = Seq()    raise TestFailedexcept ValueError:    pass# unpacking sequence too longif verbose:    print 'unpack sequence too long'try:    a, b = Seq()    raise TestFailedexcept ValueError:    pass# unpacking a sequence where the test for too long raises a different# kind of errorBozoError = '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 IndexErrorif verbose:    print 'unpack sequence too long, wrong error'try:    a, b, c, d, e = BadSeq()    raise TestFailedexcept BozoError:    pass# trigger code while expecting an IndexErrorif verbose:    print 'unpack sequence too short, wrong error'try:    a, b, c = BadSeq()    raise TestFailedexcept BozoError:    pass

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -