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
|
from unittest import TestCase
from typish import LiteralAlias
class TestLiteralMeta(TestCase):
def test_from_literal(self):
class LiteralMock:
__args__ = (42,)
alias = LiteralAlias.from_literal(LiteralMock)
self.assertTrue(isinstance(42, alias))
def test_str(self):
self.assertEqual('Literal[42]', str(LiteralAlias[42]))
def test_multiple_args(self):
self.assertTrue(isinstance(1, LiteralAlias[1, 2]))
self.assertTrue(isinstance(2, LiteralAlias[1, 2]))
self.assertTrue(isinstance(1, LiteralAlias[(1, 2)]))
self.assertTrue(isinstance(2, LiteralAlias[(1, 2)]))
self.assertTrue(isinstance(1, LiteralAlias[((1, 2),)]))
self.assertTrue(isinstance(2, LiteralAlias[((1, 2),)]))
|