
    Mf              
          d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZmZmZ d d	lmZ d d
lmZ d dlmZ dgdgddgddgdgddgdgdZddiddddddddddddddddddd dddddddd!dddddddd"ddd#dd$d%d&eddfZd' Zd( Z	 	 d0d)Zd* Z G d+ d,e          Z G d- d.e/          ZdS )1    N)TestCase)RequestFactory)MatplotlibFigureField)models)forms)render)TemplateContextEngine)HttpResponse)settings)DJANGO_MATPLOTLIB_TMPi@     TFstringfilepngsvgtest_figure)	fig_width
fig_heightsilentoutput_typecleanupoutput_formatfigurer   equalstatus_code   )variablevalue)update	operationresult)r   r   containscontentzdata:image/png;base64zdata:image/svg+xml;z.svgz.pngno_figure_view)r   r   raises c              #      K   |                                  }|                                 }t          j        | D ]!}t	          t          ||                    V  "d S )N)keysvalues	itertoolsproductdictzip)dctr*   valsinstances       \/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/django_matplotlib/tests/tests.pycartesian_helperr4   E   sb      88::D::<<D%t, ( (3tX&&''''''( (    c                     t                                          d          }t          d|i          }|                    |          }t	          |          S )Ns   This is probe {{ form }}form)r   from_stringr
   r   r   )requestr7   templatectxdatas        r3   	test_viewr=   K   sJ    xx##$?@@H
64.
!
!C??3Dr5   c                      G d d          }|rt          |d|           ||d}|r|                    |           t          | t          j        f|          }|S )Nc                       e Zd ZdS )create_model.<locals>.MetaN__name__
__module____qualname__ r5   r3   Metar@   T   s        r5   rF   	app_label)rC   rF   )setattrr!   typer   Model)namefieldsrG   modulerF   attrsmodels          r3   create_modelrP   R   s            .k9---!400E V..ELr5   c                     | ||||fd}|S )Nc                    t                      }|                    d          }fd}|dk    r|                     |||           d S  ||          }	|dk    r$|                     t	          |	|          |           |dk    r9|                     |t	          |	|                              d                     d S d S )N/c           	          t          dz  dt          di idd           G fddt          j                  }t	          |  |                      }|S )NzSampleModel%sr   django_matplotlib)rL   rM   rG   c                   .    e Zd Z G  fdd          ZdS )Jtest_wrapper.<locals>.test_function.<locals>.build_env.<locals>.SampleFormc                       e Zd Z ZdZdS )Otest_wrapper.<locals>.test_function.<locals>.build_env.<locals>.SampleForm.Meta__all__N)rB   rC   rD   rO   rL   sample_models   r3   rF   rY   l   s        (E&FFFr5   rF   N)rB   rC   rD   rF   r[   s   r3   
SampleFormrW   k   sG        ' ' ' ' ' ' ' ' ' ' ' 'r5   r]   rE   )rP   r   r   	ModelFormr=   )r9   r]   responser\   indkws      @r3   	build_envz6test_wrapper.<locals>.test_function.<locals>.build_envf   s    '#(=08:O:U:URT:U:U/V/B2EG G GL' ' ' ' ' ' 'U_ ' ' ' !**,,77HOr5   r'   r   r$   zutf-8)r   getassertRaisesassertEqualgetattrassertIndecode)
selfra   r   opr    r`   factoryr9   rb   r_   s
    `   `    r3   test_functionz#test_wrapper.<locals>.test_function`   s     !""++c""
	 
	 
	 
	 
	 
	 >>eY88888 y))HW}}  8!<!<eDDDZeWXx%@%@%G%G%P%PQQQQQ  r5   rE   )ra   r   rj   r    r`   rl   s         r3   test_wrapperrm   _   s.    !H#R R R R6 r5   c                   "     e Zd ZdZ fdZ xZS )VariationalTestMetaclassz* Metaclass which generates all test cases c           	         |t           |vrt           fn|z  }t                                          | |||          }d}t          D ]}t	          t
                    D ]w}|                    |d                    t          ||d         d         |d         |d         d         |          }t          |d|d         d         d	||           |dz  }x|S )
N   r!   r#   r   r"   r    )ra   r   rj   r    r`   test__)	r   super__new__
test_casesr4   par_variationsr!   rm   rH   )
mcsrK   basesrN   clsr`   	test_casera   test_f	__class__s
            r3   ru   z VariationalTestMetaclass.__new__   s    !6!6(EAggooc466# 	 	I&~66  		)H-...%i6I*6U$[189LW9U! ! ! Yx-@-L-L-LccRTZ[[[q 
r5   )rB   rC   rD   __doc__ru   __classcell__)r}   s   @r3   ro   ro   ~   s>        44        r5   ro   c                       e Zd ZdS )AutoGeneratedTestsNrA   rE   r5   r3   r   r      s        Dr5   r   )	metaclass)Nr(   r(   ) r,   django.testr   r   django_matplotlib.fieldsr   	django.dbr   djangor   django.shortcutsr   django.templater	   r
   r   django.httpr   django.confr   django_matplotlib.confr   rw   AttributeErrorrv   r4   r=   rP   rm   rI   ro   r   rE   r5   r3   <module>r      s                   & & & & & & : : : : : :             # # # # # # 5 5 5 5 5 5 5 5 5 5 $ $ $ $ $ $             8 8 8 8 8 8 %Umf%vU^o  '- '(5DD  05-57 7 *(1%<> >	  05-57 7 *(1%:< <	  05-35 5 *(1%+- -	  05-35 5 *(1%+- -	  )9EJJ&(*%35 5 E(
V( ( (   /1
 
 
 
  >    t   $	 	 	 	 	#; 	 	 	 	 	 	r5   