test_typechecker.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:pytypes 作者: Stewori 项目源码 文件源码
def test_empty(self):
        asg = {Dict, List, Set, pytypes.Empty}

        empty_dict = pytypes.Empty[Dict]
        self.assertEqual(pytypes.deep_type({}), empty_dict)
        self.assertEqual(pytypes.type_str(empty_dict, asg), 'Empty[Dict]')
        self.assertTrue(pytypes.is_subtype(empty_dict, pytypes.Empty))
        #self.assertFalse(pytypes.is_subtype(Dict[str, int], empty_dict))
        self.assertTrue(pytypes.is_subtype(empty_dict, Dict[str, int]))
        self.assertTrue(pytypes.is_subtype(empty_dict, Dict))

        empty_lst = pytypes.Empty[List]
        self.assertEqual(pytypes.deep_type([]), empty_lst)
        self.assertEqual(pytypes.type_str(empty_lst, asg), 'Empty[List]')
        self.assertTrue(pytypes.is_subtype(empty_lst, pytypes.Empty))
        #self.assertFalse(pytypes.is_subtype(List[str], empty_lst))
        self.assertTrue(pytypes.is_subtype(empty_lst, List[int]))
        self.assertTrue(pytypes.is_subtype(empty_lst, List))
        self.assertFalse(pytypes.is_subtype(empty_lst, empty_dict))
        self.assertFalse(pytypes.is_subtype(empty_dict, empty_lst))

        empty_seq = pytypes.Empty[Sequence]
        empty_con = pytypes.Empty[typing.Container]
        self.assertTrue(pytypes.is_subtype(Dict[str, int],
                typing.Container[str]))
        self.assertFalse(pytypes.is_subtype(empty_dict, empty_seq))
        self.assertTrue(pytypes.is_subtype(empty_dict, empty_con))
        self.assertTrue(pytypes.is_subtype(empty_lst, empty_seq))
        self.assertFalse(pytypes.is_subtype(empty_seq, empty_lst))

        empty_set = pytypes.Empty[Set]
        self.assertEqual(pytypes.deep_type(set()), empty_set)
        self.assertEqual(pytypes.type_str(empty_set, asg), 'Empty[Set]')
        self.assertTrue(pytypes.is_subtype(empty_set, pytypes.Empty))
        #self.assertFalse(pytypes.is_subtype(Set[int], empty_set))
        self.assertTrue(pytypes.is_subtype(empty_set, Set[int]))
        self.assertTrue(pytypes.is_subtype(empty_set, Set))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号