コード例 #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)