
    `j                     v    d Z ddlmZ ddlmZ  G d dej                  Zedk    r ej                     dS dS )zTests for the parser module.    )parser)	testutilsc                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdS )
ParserTestc                 R    |                      t          j                               d S )N)assertIsNotNoner   CreateParserselfs    T/home/jworkman/hermes-web-chat/venv/lib/python3.11/site-packages/fire/parser_test.pytestCreateParserzParserTest.testCreateParser   s%    ,../////    c                 <   |                      t          j        g           g g f           |                      t          j        ddg          ddgg f           |                      t          j        g d          ddgg f           |                      t          j        g d          ddgdgf           |                      t          j        dg          g g f           |                      t          j        g d          g ddgf           |                      t          j        g d	          ddgddgf           |                      t          j        g d
          g d	g f           |                      t          j        g d          g ddgf           d S )Nab)r   r   --)r   r   r   cr   r   )r   r   dr   )r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r   r   )assertEqualr   SeparateFlagArgsr
   s    r   testSeparateFlagArgszParserTest.testSeparateFlagArgs   s   V,R002r(;;;V,c3Z88C:r:JKKKV,-=-=-=>>Cj"%' ' 'V,-B-B-BCCCj3%(* * *V,dV44"X  V,-=-=-=>>3*%' ' 'V,-G-G-GHHCj3*-/ / /V,-M-M-MNN000"57 7 7V,-M-M-MNN+++cU35 5 5 5 5r   c                 F   |                      t          j        d          d           |                      t          j        d          d           |                      t          j        d          d           |                      t          j        d          d           d S )Nhellozpath/file.jpghello world--flagr   r   DefaultParseValuer
   s    r   testDefaultParseValueStringsz'ParserTest.testDefaultParseValueStrings,   s    V-g66@@@V-o>>PPPV-m<<mLLLV-h77BBBBBr   c                    |                      t          j        d          d           |                      t          j        d          d           |                      t          j        d          d           |                      t          j        d          d           |                      t          j        d          d           |                      t          j        d	          d           d S )
Nz'hello'r   z'hello world'r   z'--flag'r   z"hello"z"hello world"z"--flag"r   r
   s    r   "testDefaultParseValueQuotedStringsz-ParserTest.testDefaultParseValueQuotedStrings2   s    V-i88'BBBV-o>>NNNV-j998DDDV-i88'BBBV-o>>NNNV-j998DDDDDr   c                    |                      t          j        d          d           |                      t          j        d          d           |                      t          j        d          d           |                      t          j        d          d           |                      t          j        d          d            |                      t          j        d          d           d S )N-r   z---z----Nonez'None'r   r
   s    r   #testDefaultParseValueSpecialStringsz.ParserTest.testDefaultParseValueSpecialStrings:   s    V-c22C888V-d33T:::V-e44e<<<V-f55v>>>V-f55t<<<V-h77@@@@@r   c                 J   |                      t          j        d          d           |                      t          j        d          d           |                      t          j        d          d           |                     t          j        d          t                     |                     t          j        d          t
                     |                      t          j        d          d           |                      t          j        d	          d
           d S )N23   z-23i23.0g      7@23.5g     7@z-23.5g     7)r   r   r   assertIsInstanceintfloatr
   s    r   testDefaultParseValueNumbersz'ParserTest.testDefaultParseValueNumbersB   s    V-d33R888V-e44c:::V-f55t<<<&2488#>>>&26::EBBBV-f55t<<<V-g66>>>>>r   c                    |                      t          j        d          d           |                      t          j        d          d           |                      t          j        d          d           |                      t          j        d          d           |                      t          j        d          d           |                      t          j        d	          d           d S )
Nz'23'r&   z'23.0'r(   z'23.5'r)   z"23"z"23.0"z"23.5"r   r
   s    r   "testDefaultParseValueStringNumbersz-ParserTest.testDefaultParseValueStringNumbersK   s    V-f55t<<<V-h77@@@V-h77@@@V-f55t<<<V-h77@@@V-h77@@@@@r   c                 V    |                      t          j        d          d           d S )Nz"'123'"z'123'r   r
   s    r   (testDefaultParseValueQuotedStringNumbersz3ParserTest.testDefaultParseValueQuotedStringNumbersS   s)    V-k::GDDDDDr   c                 V    |                      t          j        d          d           d S )N1e5g     j@r   r
   s    r   !testDefaultParseValueOtherNumbersz,ParserTest.testDefaultParseValueOtherNumbersV   s)    V-e44h?????r   c                 V   |                      t          j        d          g d           |                      t          j        d          g d           |                      t          j        d          g d           |                      t          j        d          g d           d S )	Nz	[1, 2, 3])         z[1, "2", 3])r6   2r8   z[1, '"2"', 3])r6   z"2"r8   z[1, "hello", 3])r6   r   r8   r   r
   s    r   testDefaultParseValueListsz%ParserTest.testDefaultParseValueListsY   s    V-k::IIIFFFV-m<<kkkJJJV-.?@@---PPPV- +OO- - - - -r   c                 Z    |                      t          j        d          g d           d S )Nz[one, 2, "3"]oner7   3r   r
   s    r   #testDefaultParseValueBareWordsListsz.ParserTest.testDefaultParseValueBareWordsLists`   s-    V-o>>PPPPPr   c                 \    |                      t          j        d          ddd           d S )Nz{"abc": 5, "123": 1}   r6   )abc123r   r
   s    r   testDefaultParseValueDictz$ParserTest.testDefaultParseValueDictc   sB     !788!A:N:NP P P P Pr   c                 V    |                      t          j        d          d            d S )Nr#   r   r
   s    r   testDefaultParseValueNonez$ParserTest.testDefaultParseValueNoneg   s)    V-f55t<<<<<r   c                     |                      t          j        d          d           |                      t          j        d          d           d S )NTrueTFalseFr   r
   s    r   testDefaultParseValueBoolz$ParserTest.testDefaultParseValueBoolj   sJ    V-f55t<<<V-g66>>>>>r   c                     |                      t          j        d          d           |                      t          j        d          d           d S )Nz(one, 2, "3")r<   zone, "2", 3)r=   r9   r8   r   r
   s    r   #testDefaultParseValueBareWordsTuplez.ParserTest.testDefaultParseValueBareWordsTuplen   sJ    V-o>>PPPV-m<<oNNNNNr   c                 b    |                      t          j        d          dddddg           d S )Nz,[(A, 2, "3"), 5, {alpha: 10.2, beta: "cat"}])Ar7   r>   rA   gffffff$@cat)alphabetar   r
   s    r   %testDefaultParseValueNestedContainersz0ParserTest.testDefaultParseValueNestedContainersr   sI     :	< 	<	T599:< < < < <r   c                     |                      t          j        d          d           |                      t          j        d          d           d S )Nz"0#comments"z
0#commentsr   r   r
   s    r   testDefaultParseValueCommentsz(ParserTest.testDefaultParseValueCommentsx   sJ    V-n==|LLLV-l;;Q?????r   c                     |                      t          j        d          d           |                      t          j        d          d           d S )Nz[(A, 2, "3"), 5zx=10r   r
   s    r   testDefaultParseValueBadLiteralz*ParserTest.testDefaultParseValueBadLiteral}   sV     !2335FH H HV-f55v>>>>>r   c                 V    |                      t          j        d          d           d S )N"r   r
   s    r    testDefaultParseValueSyntaxErrorz+ParserTest.testDefaultParseValueSyntaxError   s)    V-c22C88888r   c                     |                      t          j        d          d           |                      t          j        d          d           d S )Nz
2017-10-10z1+1r   r
   s    r    testDefaultParseValueIgnoreBinOpz+ParserTest.testDefaultParseValueIgnoreBinOp   sJ    V-l;;\JJJV-e44e<<<<<r   N)__name__
__module____qualname__r   r   r   r    r$   r-   r/   r1   r4   r:   r?   rD   rF   rJ   rL   rR   rT   rV   rY   r[    r   r   r   r      s^       0 0 05 5 5$C C CE E EA A A? ? ?A A AE E E@ @ @- - -Q Q QP P P= = =? ? ?O O O< < <@ @ @
? ? ?9 9 9= = = = =r   r   __main__N)__doc__firer   r   BaseTestCaser   r\   mainr_   r   r   <module>re      s    # "            t= t= t= t= t=' t= t= t=l z). r   