File: test_variadic.py

package info (click to toggle)
python-multipledispatch 1.0.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 272 kB
  • sloc: python: 1,116; makefile: 141
file content (39 lines) | stat: -rw-r--r-- 687 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from multipledispatch.variadic import isvariadic, Variadic


class A(object):
    pass


class B(A):
    pass


class C(object):
    pass


def test_is_variadic():
    assert isvariadic(Variadic[A])
    assert not isvariadic(A)


def test_equals_simple():
    type_a = Variadic[A]
    type_b = Variadic[B]
    other_type_a = Variadic[A]
    assert type_a == other_type_a
    assert not type_a == type_b


def test_equals_union():
    union_a_b = Variadic[(A, B)]
    union_b_a = Variadic[(B, A)]

    union_a_b_c = Variadic[(A, B, C)]
    union_c_b_a = Variadic[(C, B, A)]

    assert union_a_b == union_b_a
    assert union_a_b_c == union_c_b_a

    assert not union_a_b == union_a_b_c