Ejemplo n.º 1
0
 def test_update_yield(self):
     sig = Signature.from_callable(UpdateSignatureHelper.a_class_method)
     sig = update_signature_return(sig, yield_type=int)
     assert sig == Signature(return_annotation=Iterator[int])
     sig = update_signature_return(sig,
                                   return_type=NoneType,
                                   yield_type=int)
     assert sig == Signature(return_annotation=Iterator[int])
Ejemplo n.º 2
0
 def test_update_yield_none_and_return(self):
     sig = Signature.from_callable(UpdateSignatureHelper.a_class_method)
     sig = update_signature_return(sig,
                                   return_type=str,
                                   yield_type=NoneType)
     assert sig == Signature(return_annotation=Generator[NoneType, NoneType,
                                                         str])
Ejemplo n.º 3
0
 def test_update_return_with_anno(self):
     """Leave existing return annotations alone"""
     sig = Signature.from_callable(UpdateSignatureHelper.has_annos)
     sig = update_signature_return(sig, return_type=str)
     expected = Signature(parameters=[
         Parameter('a', Parameter.POSITIONAL_OR_KEYWORD, annotation=int),
         Parameter('b', Parameter.POSITIONAL_OR_KEYWORD)
     ],
                          return_annotation=int)
     assert sig == expected
Ejemplo n.º 4
0
 def test_avoid_incompatible_return(self):
     """Generate stub for application with no annotation where source has one"""
     sig = Signature.from_callable(UpdateSignatureHelper.has_annos)
     sig = update_signature_return(
         sig,
         return_type=str,
         existing_annotation_strategy=ExistingAnnotationStrategy.OMIT)
     expected = Signature(parameters=[
         Parameter('a', Parameter.POSITIONAL_OR_KEYWORD, annotation=int),
         Parameter('b', Parameter.POSITIONAL_OR_KEYWORD)
     ], )
     assert sig == expected
Ejemplo n.º 5
0
 def test_update_return(self):
     """Update return annotations from types"""
     sig = Signature.from_callable(UpdateSignatureHelper.a_class_method)
     sig = update_signature_return(sig, return_type=str)
     assert sig == Signature(return_annotation=str)