Passed
Push — master ( dc8133...73195b )
by Ramon
01:02 queued 11s
created

TestLiteralMeta.test_multiple_args()   A

Complexity

Conditions 1

Size

Total Lines 7
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 7
nop 1
dl 0
loc 7
rs 10
c 0
b 0
f 0
1
from unittest import TestCase
2
3
from typish import LiteralAlias
4
5
6
class TestLiteralMeta(TestCase):
7
    def test_from_literal(self):
8
9
        class LiteralMock:
10
            __args__ = (42,)
11
12
        alias = LiteralAlias.from_literal(LiteralMock)
13
14
        self.assertTrue(isinstance(42, alias))
15
16
    def test_str(self):
17
        self.assertEqual('Literal[42]', str(LiteralAlias[42]))
18
19
    def test_multiple_args(self):
20
        self.assertTrue(isinstance(1, LiteralAlias[1, 2]))
21
        self.assertTrue(isinstance(2, LiteralAlias[1, 2]))
22
        self.assertTrue(isinstance(1, LiteralAlias[(1, 2)]))
23
        self.assertTrue(isinstance(2, LiteralAlias[(1, 2)]))
24
        self.assertTrue(isinstance(1, LiteralAlias[((1, 2),)]))
25
        self.assertTrue(isinstance(2, LiteralAlias[((1, 2),)]))
26