U
    hv                     @  sV   d Z ddlmZ ddlZddlmZ ddlmZ G dd dej	Z
edkrRe  dS )	zUnittest for ArgumentParser.    )annotationsN)absltest)argument_parserc                   @  s   e Zd Zdd Zdd ZdS )ArgumentParserTestc              	   C  s2   t  }| t jd |dg W 5 Q R X dS )z1Verify that help messages raise ParserNormalExit.zshow this help message and exitz-hN)
parser_libArgumentParserassertRaisesRegexZParserNormalExit
parse_args)selfparser r   U/tmp/pip-unpacked-wheel-doshhd5e/google/generativeai/notebook/argument_parser_test.py	test_help   s     zArgumentParserTest.test_helpc              	   C  s   dddd}|  ddg}| d|j | tjd |  dd	g W 5 Q R X | tjd
 |  g  W 5 Q R X | tjd |  dg W 5 Q R X d S )Nzargparse.ArgumentParser)returnc                  S  s   t  } | jdtdd | S )N--valueT)typerequired)r   r   add_argumentint)r   r   r   r   
new_parser"   s    z<ArgumentParserTest.test_parse_arg_errors.<locals>.new_parserr   Z42*   zinvalid int valuez	forty-twoz$the following arguments are requiredzexpected one argument)r	   assertEqualvaluer   r   ZParserError)r
   r   resultsr   r   r   test_parse_arg_errors!   s      z(ArgumentParserTest.test_parse_arg_errorsN)__name__
__module____qualname__r   r   r   r   r   r   r      s   r   __main__)__doc__
__future__r   argparseZabsl.testingr   Zgoogle.generativeai.notebookr   r   ZTestCaser   r   mainr   r   r   r   <module>   s   "