示例#1
0
 def test_has_no_args(self):
     with self.assertRaises(TypeError):
         unpack_optional(None)
     with self.assertRaises(TypeError):
         unpack_optional(42)
     with self.assertRaises(TypeError):
         unpack_optional("foo")
     with self.assertRaises(TypeError):
         unpack_optional(bool)
     with self.assertRaises(TypeError):
         unpack_optional(float)
示例#2
0
 def test_is_optional(self):
     self.assertIs(unpack_optional(Optional[int]), int)
     self.assertIs(unpack_optional(Optional[str]), str)
示例#3
0
 def test_is_no_optional(self):
     with self.assertRaises(TypeError):
         unpack_optional(Union[int])  # In fact this is int.
     with self.assertRaises(TypeError):
         unpack_optional(Union[int, str])
示例#4
0
 def test_is_no_union(self):
     with self.assertRaises(TypeError):
         unpack_optional(List[int])
     with self.assertRaises(TypeError):
         unpack_optional(Dict[str, str])
示例#5
0
 def test_is_optional(self):
     self.assertIs(unpack_optional(Optional[int]), int)
     self.assertIs(unpack_optional(Optional[str]), str)
     self.assertIs(unpack_optional(Union[None, str]), str)
     self.assertIs(unpack_optional(Union[int, type(None)]), int)