0

私はいくつかの機能を持っていますfoo(list)

そして、私はしたいです

assert foo(list with one element) == that one element

assert foo(list with 100 elements) == foo(list)

リスト自体が何であるかを知らずに、理想的にはアサートステートメントだけでこれを行うにはどうすればよいですか?

4

1 に答える 1

0
if len(x) == 1:
    assert foo(x) == x[0]
elif len(x) == 100:
    assert foo(x) == x

または、fooの戻り値が常に上記のプロパティを持っていることを確認したい場合は、次のようにすることができます。

def foo(x):
    # compute return value `retval` based on `x`
    if len(x) == 1:
        assert retval == x[0]
    elif len(x) == 100:
        assert retval == x
    return retval
于 2012-10-07T20:38:16.477 に答える