コード例 #1
0
ファイル: test.py プロジェクト: LX19970305/Lab3
def test_addmethod():
    D = MultiMethod('add')

    D.add((int, int), lambda x, y: x + y)
    D.add((float, float), lambda x, y: x + y)

    assert D(1, 2) == 3
    assert D(1.0, 2.0) == 3.0
コード例 #2
0
ファイル: test.py プロジェクト: LX19970305/Lab3
def test_arguments():
    f = MultiMethod('f')

    @f.register(int, int)
    @f.register(int)
    def foo(a, b=10):
        return a - b

    assert foo(10, 3) == 7
    assert foo(5) == -5
    assert foo(b=2, a=1) == -1
    assert foo(a=1, b=2) == -1