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
|
from unittest import TestCase
from typish import SubscriptableType
class TestSubscriptableType(TestCase):
def test_subscribing(self):
class C(metaclass=SubscriptableType):
...
self.assertEqual('arg', C['arg'].__args__)
self.assertEqual(C, C['arg'].__origin__)
def test_after_subscription(self):
class C(metaclass=SubscriptableType):
@staticmethod
def _after_subscription(item):
C.item = item
C2 = C['arg']
self.assertEqual('arg', C2.item)
def test_equility(self):
class SomeType(metaclass=SubscriptableType):
...
self.assertEqual(SomeType['test'], SomeType['test'])
self.assertNotEqual(SomeType['test1'], SomeType['test2'])
|