ó
¢@+YøA  c           @   s'  d  d l  Z d  d l j j Z d  d l Z d  d l m Z d  d l m	 Z	 d  d l m
 Z
 d e f d „  ƒ  YZ d e f d „  ƒ  YZ d	 e f d
 „  ƒ  YZ d e f d „  ƒ  YZ 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" „  Z% d# „  Z& d$ „  Z' d% „  Z( d& „  Z) d' „  Z* d( „  Z+ d) „  Z, d* „  Z- d+ „  Z. d, „  Z/ d- „  Z0 d. „  Z1 d/ „  Z2 d0 „  Z3 d1 „  Z4 d2 „  Z5 d3 „  Z6 d4 „  Z7 d5 „  Z8 d S(6   iÿÿÿÿN(   t   printout(   t   report(   t   fstreet   MockDirEntryc           B   s   e  Z d  „  Z RS(   c         C   s)   t  t |  ƒ j ƒ  | |  _ d  |  _ d  S(   N(   t   superR   t   __init__t   namet   Nonet   path(   t   selfR   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR      s    	(   t   __name__t
   __module__R   (    (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR      s   t   MockFileDirEntryc           B   s   e  Z d  „  Z RS(   c         C   s   t  S(   N(   t   False(   R	   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   is_dir#   s    (   R
   R   R   (    (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR   "   s   t   MockDirDirEntryc           B   s   e  Z d  „  Z RS(   c         C   s   t  S(   N(   t   True(   R	   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR   (   s    (   R
   R   R   (    (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR   '   s   t	   MockFSDirc           B   s   e  Z i  d  „ Z RS(   c         C   s    t  t |  ƒ j ƒ  | |  _ d  S(   N(   R   R   R   t   children(   R	   R   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR   -   s    (   R
   R   R   (    (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR   ,   s   c          C   sÍ   t  j d g ƒ }  d } |  | k } | s¿ t j d | f d |  | f ƒ i t j | ƒ d 6d t j ƒ  k s| t j |  ƒ r‹ t j |  ƒ n d d 6} d i | d	 6} t t j	 | ƒ ƒ ‚ n  d
 } } d
 S(   s   First header has no indentationt   firsts   ==s   %(py0)s == %(py3)st   py3t   outt   py0t    s   assert %(py5)st   py5N(   s   ==(   s   %(py0)s == %(py3)ss   assert %(py5)s(   R   t   render_headerst
   @pytest_art   _call_reprcomparet	   _safereprt   @py_builtinst   localst   _should_repr_global_namet   AssertionErrort   _format_explanationR   (   R   t   @py_assert2t   @py_assert1t   @py_format4t   @py_format6(    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_render_headers_first8   s       l   c    	      C   s(  t  j d d g ƒ }  |  j d ƒ } | d } t  j } d } | | } | | k } | st j d | f d | | f ƒ i d t j ƒ  k s› t j t  ƒ rª t j	 t  ƒ n d d 6t j	 | ƒ d	 6t j	 | ƒ d
 6t j	 | ƒ d 6} d i | d 6} t
 t j | ƒ ƒ ‚ n  d } } } } } d S(   s(   Second header has 1 level of indentationR   t   seconds   
iÿÿÿÿs   ==s@   %(py1)s == (%(py5)s
{%(py5)s = %(py3)s.LEVEL_INDENT
} + %(py7)s)R   R   t   py1t   py7R   R   s   assert %(py10)st   py10N(   s   ==(   s@   %(py1)s == (%(py5)s
{%(py5)s = %(py3)s.LEVEL_INDENT
} + %(py7)s)s   assert %(py10)s(   R   R   t   splitt   LEVEL_INDENTR   R   R   R   R   R   R    R!   R   (	   R   t   linest   @py_assert0t   @py_assert4t   @py_assert6t   @py_assert8R"   t   @py_format9t   @py_format11(    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_render_headers_second>   s    
 	  
   Œ   c          C   sS  t  j d d d g ƒ }  |  j d ƒ } | d } t  j } d } | | } d } | | } | | k } | s1t j d | f d | | f ƒ i d	 t j ƒ  k s® t j t  ƒ r½ t j	 t  ƒ n d	 d
 6t j	 | ƒ d 6t j	 | ƒ d 6t j	 | ƒ d 6t j	 | ƒ d 6}	 d i |	 d 6}
 t
 t j |
 ƒ ƒ ‚ n  d } } } } } } } d S(   s(   Third header has 2 levels of indentationR   R'   t   thirds   
iÿÿÿÿi   s   ==sM   %(py1)s == ((%(py5)s
{%(py5)s = %(py3)s.LEVEL_INDENT
} * %(py7)s) + %(py10)s)R   R   R(   R)   R*   R   R   s   assert %(py13)st   py13N(   s   ==(   sM   %(py1)s == ((%(py5)s
{%(py5)s = %(py3)s.LEVEL_INDENT
} * %(py7)s) + %(py10)s)s   assert %(py13)s(   R   R   R+   R,   R   R   R   R   R   R   R    R!   R   (   R   R-   R.   R/   R0   R1   t   @py_assert9t   @py_assert11R"   t   @py_format12t   @py_format14(    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_render_headers_thirdE   s    
 	  
  
   œ   c          C   s  t  j }  d g } |  | ƒ } t  j g } | | k } | st j d | f d | | f ƒ i t j |  ƒ d 6t j | ƒ d 6d t j ƒ  k sž t j t  ƒ r­ t j t  ƒ n d d 6t j | ƒ d 6t j | ƒ d	 6} d i | d 6} t	 t j
 | ƒ ƒ ‚ n  d }  } } } } d S(   s.   Does a single header get a single indentation?R   s   ==sX   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.visual_indentation
}(%(py4)s)
} == %(py9)st   py2t   py9R   R   t   py6t   py4R   s   assert %(py11)st   py11N(   s   ==(   sX   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.visual_indentation
}(%(py4)s)
} == %(py9)ss   assert %(py11)s(   R   t   visual_indentationR,   R   R   R   R   R   R   R    R!   R   (   R#   t   @py_assert3t   @py_assert5R1   t   @py_assert7t   @py_format10R9   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_visual_indentation1N   s    	 	     œ   c    	      C   sI  t  j }  d d d g } |  | ƒ } t  j g } d } | | } | | k } | s't j d | f d | | f ƒ i t j |  ƒ d 6d t j ƒ  k s¤ t j t  ƒ r³ t j t  ƒ n d d	 6t j | ƒ d
 6t j | ƒ d 6t j | ƒ d 6t j | ƒ d 6} d i | d 6} t	 t j
 | ƒ ƒ ‚ n  d }  } } } } } } d S(   s2   Do 3 levels of header get 3 levels of indentation?R   R'   R5   i   s   ==se   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.visual_indentation
}(%(py4)s)
} == (%(py9)s * %(py11)s)R<   R   R   R>   R?   R=   R@   R   s   assert %(py14)st   py14N(   s   ==(   se   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.visual_indentation
}(%(py4)s)
} == (%(py9)s * %(py11)s)s   assert %(py14)s(   R   RA   R,   R   R   R   R   R   R   R    R!   R   (	   R#   RB   RC   R1   t   @py_assert10t   @py_assert12RD   t   @py_format13t   @py_format15(    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_visual_indentation3S   s    	     
   ¬   c          C   s  d g }  |  } t  j t j ƒ  | d d ƒ | |  k } | sú t j d | f d | |  f ƒ i d t j ƒ  k s€ t j |  ƒ r t j	 |  ƒ n d d 6d t j ƒ  k s· t j | ƒ rÆ t j	 | ƒ n d d	 6} d i | d 6} t
 t j | ƒ ƒ ‚ n  d } d S(   s-   Headers are not changed by print_error() callR   R'   s   my msgs   ==s   %(py0)s == %(py2)st   orig_headersR<   t   headersR   R   s   assert %(py4)sR?   N(   s   ==(   s   %(py0)s == %(py2)ss   assert %(py4)s(   R   t   print_errorR    t   PrinterR   R   R   R   R   R   R    R!   R   (   RM   RN   R#   t   @py_format3t   @py_format5(    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_print_error_headers[   s    	  “   c   
      C   s]  t  j t j ƒ  d g d d ƒ |  j ƒ  \ } } | j d ƒ } t  j } d } | | } | | k } | sGt j d | f d | | f ƒ i t j	 | ƒ d 6d t
 j ƒ  k s½ t j t  ƒ rÌ t j	 t  ƒ n d d	 6d
 t
 j ƒ  k sô t j | ƒ rt j	 | ƒ n d
 d 6t j	 | ƒ d 6} d i | d 6}	 t t j |	 ƒ ƒ ‚ n  d } } } } d S(   s-   The name shows up in the print_error() outputR   R'   s   my msgs   
t   ins@   (%(py2)s
{%(py2)s = %(py0)s.LEVEL_INDENT
} + %(py4)s) in %(py7)sR<   R   R   R-   R)   R?   R   s   assert %(py9)sR=   N(   RT   (   s@   (%(py2)s
{%(py2)s = %(py0)s.LEVEL_INDENT
} + %(py4)s) in %(py7)ss   assert %(py9)s(   R   RO   R    RP   t
   readouterrR+   R,   R   R   R   R   R   R   R    R!   R   (
   t   capsysR   t   errR-   R#   RB   RC   R0   t   @py_format8RE   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_print_error_namec   s    	  
   ³   c         C   sû   t  j t j ƒ  d g d d ƒ |  j ƒ  \ } } | j d ƒ } d } | | k } | sí t j d | f d | | f ƒ i d t j	 ƒ  k sš t j
 | ƒ r© t j | ƒ n d d 6t j | ƒ d	 6} d i | d 6} t t j | ƒ ƒ ‚ n  d } } d S(   s,   The msg shows up in the print_error() outputR   R'   s   my msgs   
RT   s   %(py1)s in %(py3)sR-   R   R(   R   s   assert %(py5)sR   N(   RT   (   s   %(py1)s in %(py3)ss   assert %(py5)s(   R   RO   R    RP   RU   R+   R   R   R   R   R   R   R    R!   R   (   RV   R   RW   R-   R.   R"   R$   R%   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_print_error_msgl   s       l   c          C   së   t  j d d d ƒ }  t j d |  ƒ j d ƒ } d } | | k } | sÝ t j d | f d | | f ƒ i d t j ƒ  k sŠ t j	 | ƒ r™ t j
 | ƒ n d d	 6t j
 | ƒ d
 6} d i | d 6} t t j | ƒ ƒ ‚ n  d } } d S(   s%   msg shows up on match_errmsg() outputi   t   patterni   s   my msgs   
RT   s   %(py1)s in %(py3)sR-   R   R(   R   s   assert %(py5)sR   N(   RT   (   s   %(py1)s in %(py3)ss   assert %(py5)s(   R   t
   PatternLocR   t   match_errmsgR+   R   R   R   R   R   R   R    R!   R   (   t   patlocR-   R.   R"   R$   R%   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_match_errmsg_msgw   s       l   c          C   s  t  j }  d g } |  | ƒ } d } | | k } | sû t j d | f d | | f ƒ i t j |  ƒ d 6t j | ƒ d 6d t j ƒ  k s˜ t j t  ƒ r§ t j t  ƒ n d d 6t j | ƒ d	 6t j | ƒ d
 6} d i | d 6} t t j	 | ƒ ƒ ‚ n  d }  } } } } d S(   s)   We get no suffix when given a single itemt   oneR   s   ==sL   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.plural
}(%(py4)s)
} == %(py9)sR<   R=   R   R   R>   R?   s   assert %(py11)sR@   N(   s   ==(   sL   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.plural
}(%(py4)s)
} == %(py9)ss   assert %(py11)s(   R   t   pluralR   R   R   R   R   R   R    R!   R   (   R#   RB   RC   R1   RD   RE   R9   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_plural_singular€   s    	 	     œ   c          C   s  t  j }  d d g } |  | ƒ } d } | | k } | sþ t j d | f d | | f ƒ i t j |  ƒ d 6t j | ƒ d 6d t j ƒ  k s› t j t  ƒ rª t j t  ƒ n d d	 6t j | ƒ d
 6t j | ƒ d 6} d i | d 6} t t j	 | ƒ ƒ ‚ n  d }  } } } } d S(   s)   We get a suffix when given multiple itemsR`   t   twot   ss   ==sL   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.plural
}(%(py4)s)
} == %(py9)sR<   R=   R   R   R>   R?   R   s   assert %(py11)sR@   N(   s   ==(   sL   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.plural
}(%(py4)s)
} == %(py9)ss   assert %(py11)s(   R   Ra   R   R   R   R   R   R   R    R!   R   (   R#   RB   RC   R1   RD   RE   R9   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_plural_plural…   s    	      œ   c          C   s\  t  t j d d d ƒ g ƒ }  t j |  ƒ } t |  ƒ } | | k } | sNt j d | f d | | f ƒ i t j | ƒ d 6d t	 j
 ƒ  k s t j |  ƒ r¬ t j |  ƒ n d d 6d	 t	 j
 ƒ  k sÔ t j t ƒ rã t j t ƒ n d	 d
 6d t	 j
 ƒ  k st j | ƒ rt j | ƒ n d d 6} d i | d 6} t t j | ƒ ƒ ‚ n  d } } d S(   s   A single patloc sorts to itselfi   t   pattern1i   s   ==s0   %(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py5)sR   t   patlocsR(   t   listR   t   sortedR   R   s   assert %(py7)sR)   N(   s   ==(   s0   %(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py5)ss   assert %(py7)s(   t   setR   R\   R   t   sort_patlocsRh   R   R   R   R   R   R   R    R!   R   (   Rg   Ri   R"   R/   R%   RX   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_sort_patlocs_singleŒ   s       Ú   c          C   s  t  t j d d d ƒ t j d d d ƒ t j d d d ƒ g ƒ }  t j |  ƒ } g  | D] } | j ^ qX } d d d g } | | k } | sü t j d | f d | | f ƒ i t j | ƒ d	 6t j | ƒ d
 6} d i | d 6} t	 t j
 | ƒ ƒ ‚ n  d } } } d S(   s   Do patlocs sort by row?i   Rf   i   t   pattern3i   t   pattern2s   ==s   %(py1)s == %(py4)sR(   R?   R   s   assert %(py6)sR>   N(   s   ==(   s   %(py1)s == %(py4)ss   assert %(py6)s(   Rj   R   R\   R   Rk   t   rownumR   R   R   R    R!   R   (   Rg   Ri   t   plR.   RB   R"   RR   t   @py_format7(    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_sort_patlocs_by_row“   s        E   c       	   C   sA  t  t j d d d ƒ t j d d d ƒ t j d d d ƒ t j d d d ƒ t j d d d ƒ g ƒ }  t j |  ƒ } g  | D] } | j | j f ^ q| } d d d d d g } | | k } | s/t j d | f d | | f ƒ i t j	 | ƒ d 6t j	 | ƒ d 6} d i | d 6} t
 t j | ƒ ƒ ‚ n  d } } } d S(   s   Do patlocs sort by row by pos?i   Rf   i   Rm   i   i   i    Rn   s   ==s   %(py1)s == %(py4)sR(   R?   R   s   assert %(py6)sR>   N(   i   i    (   i   i   (   i   i   (   i   i   (   i   i   (   s   ==(   s   %(py1)s == %(py4)ss   assert %(py6)s(   Rj   R   R\   R   Rk   Ro   t   posR   R   R   R    R!   R   (   Rg   Ri   Rp   R.   RB   R"   RR   Rq   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_sort_patlocs_by_row_by_posœ   s    %    E   c          C   s\  t  t j d d d ƒ g ƒ }  t j |  ƒ } t |  ƒ } | | k } | sNt j d | f d | | f ƒ i t j | ƒ d 6d t	 j
 ƒ  k s t j |  ƒ r¬ t j |  ƒ n d d 6d	 t	 j
 ƒ  k sÔ t j t ƒ rã t j t ƒ n d	 d
 6d t	 j
 ƒ  k st j | ƒ rt j | ƒ n d d 6} d i | d 6} t t j | ƒ ƒ ‚ n  d } } d S(   s6   Sorting a single patloc uniquely by row returns itselfi   Rf   i   s   ==s0   %(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py5)sR   Rg   R(   Rh   R   Ri   R   R   s   assert %(py7)sR)   N(   s   ==(   s0   %(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} == %(py5)ss   assert %(py7)s(   Rj   R   R\   R   t   least_pos_per_rowRh   R   R   R   R   R   R   R    R!   R   (   Rg   Ri   R"   R/   R%   RX   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_least_pos_per_row_oneª   s       Ú   c       	   C   s;  t  t j d d d ƒ t j d d d ƒ t j d d d ƒ t j d d d ƒ t j d d d ƒ g ƒ }  t j |  ƒ } g  | D] } | j | j f ^ q| } d d d g } | | k } | s)t j d | f d | | f ƒ i t j	 | ƒ d 6t j	 | ƒ d 6} d i | d 6} t
 t j | ƒ ƒ ‚ n  d } } } d S(   s3   The result is unique by row, smallest pos is choseni   Rf   i   Rm   i   i   i    Rn   s   ==s   %(py1)s == %(py4)sR(   R?   R   s   assert %(py6)sR>   N(   i   i    (   i   i   (   i   i   (   s   ==(   s   %(py1)s == %(py4)ss   assert %(py6)s(   Rj   R   R\   R   Ru   Ro   Rs   R   R   R   R    R!   R   (   Rg   Ri   Rp   R.   RB   R"   RR   Rq   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_least_pos_per_row_many±   s    %    E   c          C   sc  t  j }  d } t j } t j d d d ƒ g } | | ƒ } |  | | ƒ } | sEd d i t j |  ƒ d 6d t j	 ƒ  k sŒ t j
 t  ƒ r› t j t  ƒ n d d	 6t j | ƒ d
 6d t j	 ƒ  k sÓ t j
 t ƒ râ t j t ƒ n d d 6t j | ƒ d 6t j | ƒ d 6t j | ƒ d 6t j | ƒ d 6} t t j | ƒ ƒ ‚ n  d }  } } } } } d S(   s/   The patloc's row number shows up in the messaget   128i€   R[   i   R   sœ   assert %(py13)s
{%(py13)s = %(py2)s
{%(py2)s = %(py0)s.search
}(%(py4)s, %(py11)s
{%(py11)s = %(py7)s
{%(py7)s = %(py5)s.mismatched_rows_msg
}(%(py9)s)
})
}R<   t   reR   R)   R   R   R?   R=   R@   R6   N(   Ry   t   searchR   t   mismatched_rows_msgR   R\   R   R   R   R   R   R    R!   R   (   R#   RB   R0   R1   RH   RI   R:   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_mismatched_rows_msg¿   s    	  	     Ü  c          C   s/  t  j }  d } d } |  | | ƒ } d } | | k } | st j d | f d | | f ƒ i t j |  ƒ d 6d t j ƒ  k sŽ t j t  ƒ r t j t  ƒ n d d 6t j | ƒ d	 6t j | ƒ d
 6t j | ƒ d 6t j | ƒ d 6} d i | d 6} t t j	 | ƒ ƒ ‚ n  d }  } } } } } d S(   s    Do we get the pointer we expect?R   i   s      ^s   ==sf   %(py8)s
{%(py8)s = %(py2)s
{%(py2)s = %(py0)s.matched_visual_pointer
}(%(py4)s, %(py6)s)
} == %(py11)sR<   R   R   R>   R?   t   py8R@   s   assert %(py13)sR6   N(   s   ==(   sf   %(py8)s
{%(py8)s = %(py2)s
{%(py2)s = %(py0)s.matched_visual_pointer
}(%(py4)s, %(py6)s)
} == %(py11)ss   assert %(py13)s(   R   t   matched_visual_pointerR   R   R   R   R   R   R    R!   R   (   R#   RB   RC   RD   RH   R7   R9   R:   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_matched_visual_pointerÈ   s    	       ¬   c          C   s]  t  j d g t j d d d ƒ t j d d d ƒ t j d d d	 ƒ g ƒ }  |  j } d
 } | | ƒ } d } | | k } | sCt j d | f d | | f ƒ i t j | ƒ d 6t j | ƒ d 6d t j	 ƒ  k sà t j
 |  ƒ rï t j |  ƒ n d d 6t j | ƒ d 6t j | ƒ d 6} d i | d 6} t t j | ƒ ƒ ‚ n  d } } } } } d S(   s=   Rendering 3 patlocs with different positions produces 6 linest   headeri   Rm   i   i   t   pattern4i   t   pattern5i   s   
s   ==sK   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.count
}(%(py4)s)
} == %(py9)sR<   R=   t   outputR   R>   R?   R   s   assert %(py11)sR@   N(   s   ==(   sK   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.count
}(%(py4)s)
} == %(py9)ss   assert %(py11)s(   R   t   render_failuresR   R\   t   countR   R   R   R   R   R   R    R!   R   (   Rƒ   R#   RB   RC   R1   RD   RE   R9   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_render_failures_nomergeÏ   s    	      œ   c          C   s]  t  j d g t j d d d ƒ t j d d d ƒ t j d d d ƒ g ƒ }  |  j } d	 } | | ƒ } d } | | k } | sCt j d | f d | | f ƒ i t j | ƒ d 6t j | ƒ d 6d t j	 ƒ  k sà t j
 |  ƒ rï t j |  ƒ n d d 6t j | ƒ d 6t j | ƒ d 6} d i | d 6} t t j | ƒ ƒ ‚ n  d } } } } } d S(   s<   Rendering 3 patlocks with the same position produces 4 linesR€   i   Rm   i   i   R   i   R‚   s   
s   ==sK   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.count
}(%(py4)s)
} == %(py9)sR<   R=   Rƒ   R   R>   R?   R   s   assert %(py11)sR@   N(   s   ==(   sK   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.count
}(%(py4)s)
} == %(py9)ss   assert %(py11)s(   R   R„   R   R\   R…   R   R   R   R   R   R   R    R!   R   (   Rƒ   R#   RB   RC   R1   RD   RE   R9   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_render_failures_mergeÜ   s    	      œ   c          C   sq  g  }  x@ t  t j d ƒ D]+ } |  j t j | d j | ƒ | ƒ ƒ q Wt j d g |  ƒ } | j d ƒ } | d } t j	 } d } | | } | | k } | sWt
 j d | f d | | f ƒ i d	 t j ƒ  k sä t
 j t ƒ ró t
 j t ƒ n d	 d
 6t
 j | ƒ d 6t
 j | ƒ d 6t
 j | ƒ d 6}	 d i |	 d 6}
 t t
 j |
 ƒ ƒ ‚ n  d } } } } } d S(   s?   Rendering more than 5 patlocs replace the overage with ellipsesi   s
   pattern{0}R€   s   
iÿÿÿÿs   ...s   ==s@   %(py1)s == (%(py5)s
{%(py5)s = %(py3)s.LEVEL_INDENT
} + %(py7)s)R   R   R(   R)   R   R   s   assert %(py10)sR*   N(   s   ==(   s@   %(py1)s == (%(py5)s
{%(py5)s = %(py3)s.LEVEL_INDENT
} + %(py7)s)s   assert %(py10)s(   t   rangeR   t   MAX_FAILS_SHOWNt   appendR   R\   t   formatR„   R+   R,   R   R   R   R   R   R   R    R!   R   (   Rg   t   lineRƒ   R-   R.   R/   R0   R1   R"   R2   R3   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_render_failures_overlongæ   s     #
 	  
   Œ   c          C   s<  t  j d g d t j d d d ƒ g ƒ }  |  j } d } | | ƒ } d } | | k } | s"t j d | f d | | f ƒ i t j | ƒ d	 6t j | ƒ d
 6d t j	 ƒ  k s¿ t j
 |  ƒ rÎ t j |  ƒ n d d 6t j | ƒ d 6t j | ƒ d 6} d i | d 6} t t j | ƒ ƒ ‚ n  d } } } } } d S(   s%   Produces a string of at least 3 linesR€   R   i   R[   i   s   
t   >sJ   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.count
}(%(py4)s)
} > %(py9)sR<   R=   Rƒ   R   R>   R?   s   assert %(py11)sR@   N(   RŽ   (   sJ   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.count
}(%(py4)s)
} > %(py9)ss   assert %(py11)s(   R   t   mismatch_errmsgR   R\   R…   R   R   R   R   R   R   R    R!   R   (   Rƒ   R#   RB   RC   R1   RD   RE   R9   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_mismatch_errmsgó   s    $	      œ   c         C   sÐ   t  j ƒ  } t i  ƒ } t d ƒ } t j d d d ƒ } t j | | t ƒ  g  | | g  ƒ |  j	 ƒ  \ } } | sÌ d	 i d t
 j ƒ  k sš t j | ƒ r© t j | ƒ n d d 6} t t j | ƒ ƒ ‚ n  d S(
   sb   Get an error, in the report on stdout, because the analyzer
    says the directory has no childrent   dirnamei   i   R   s   assert %(py0)sR   R   Ns   assert %(py0)s(   R    RP   R   R   R   R\   R   t   report_dir_successRj   RU   R   R   R   R   R   R    R!   (   RV   t   printert   analyzert   direntryR^   R   RW   t   @py_format1(    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_report_dir_success_errorü   s     A c            s#  d d d „  ƒ  Y} | ƒ  ‰  t  ˆ  _ ‡  f d †  } |  j t d | ƒ t j ƒ  } t i d d 6ƒ } t j	 d d d ƒ } t j
 | | t ƒ  g  d | g  ƒ ˆ  j } | sd d	 i t j | ƒ d
 6d t j ƒ  k sç t j ˆ  ƒ rö t j ˆ  ƒ n d d 6} t t j | ƒ ƒ ‚ n  d } d S(   s)   (Try to) look at the directory's childrent	   Namespacec           B   s   e  Z RS(    (   R
   R   (    (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR˜     s   c            s   t  ˆ  _ d  S(   N(   R   t   called(   R“   R”   t   ignoresRN   R•   (   t   ns(    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   mock_dir_report  s    t
   dir_reporti   R‘   i   R   s*   assert %(py2)s
{%(py2)s = %(py0)s.called
}R<   R›   R   N(    (   R   R™   t   setattrR   R    RP   R   R   R   R\   R’   Rj   R   R   R   R   R   R    R!   (   t   monkeypatchR˜   Rœ   R“   R”   R^   R#   RQ   (    (   R›   sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_report_dir_success_recur
  s    		"	  U  c         C   sˆ  t  j ƒ  } t i d d 6ƒ } t d ƒ } t j d d d ƒ } t j | | g  | | g  ƒ |  j	 ƒ  \ } } | sÍ d i d t
 j ƒ  k s› t j | ƒ rª t j | ƒ n d d 6} t t j | ƒ ƒ ‚ n  d } | | k }	 |	 szt j d |	 f d | | f ƒ i t j | ƒ d
 6d t
 j ƒ  k s7t j | ƒ rFt j | ƒ n d d 6}
 d i |
 d 6} t t j | ƒ ƒ ‚ n  d }	 } d S(   sZ   Get an error, in the report on stdout, because the analyzer
    says the file has childreni   t   filenamei   R   s   assert %(py0)sR   R   s   ==s   %(py0)s == %(py3)sR   RW   s   assert %(py5)sR   Ns   assert %(py0)s(   s   ==(   s   %(py0)s == %(py3)ss   assert %(py5)s(   R    RP   R   R   R   R   R\   R   t   report_file_successRU   R   R   R   R   R   R    R!   R   (   RV   R“   R”   R•   R^   R   RW   R–   R"   R#   R$   R%   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_report_file_success_error   s      A    l   c         C   sÙ  t  j ƒ  } t i  ƒ } t d ƒ } t j d d d ƒ } t j | | g  | | g  ƒ |  j ƒ  \ } } d } | | k } | st	 j
 d | f d | | f ƒ i t	 j | ƒ d 6d t j ƒ  k sÑ t	 j | ƒ rà t	 j | ƒ n d d	 6}	 d i |	 d 6}
 t t	 j |
 ƒ ƒ ‚ n  d } } d } | | k } | sËt	 j
 d | f d | | f ƒ i t	 j | ƒ d 6d t j ƒ  k sˆt	 j | ƒ r—t	 j | ƒ n d d	 6}	 d i |	 d 6}
 t t	 j |
 ƒ ƒ ‚ n  d } } d S(   s^   Get no error, in the report on stdout, because the analyzer
    finds the file has no childrenR¡   i   i   R   s   ==s   %(py0)s == %(py3)sR   R   R   s   assert %(py5)sR   RW   N(   s   ==(   s   %(py0)s == %(py3)ss   assert %(py5)s(   s   ==(   s   %(py0)s == %(py3)ss   assert %(py5)s(   R    RP   R   R   R   R\   R   R¢   RU   R   R   R   R   R   R   R    R!   R   (   RV   R“   R”   R•   R^   R   RW   R"   R#   R$   R%   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt    test_report_file_success_noerror.  s(       l   
   l   c            s  d d d „  ƒ  Y} | ƒ  ‰  t  ˆ  _ ‡  f d †  } |  j t d | ƒ d d d „  ƒ  Y} | ƒ  } t j d d t ƒ  g  | t d g ƒ g  ƒ ˆ  j } | s
d d i t j | ƒ d	 6d
 t	 j
 ƒ  k sØ t j ˆ  ƒ rç t j ˆ  ƒ n d
 d 6} t t j | ƒ ƒ ‚ n  d } d S(   s   Successfully report on a dirR˜   c           B   s   e  Z RS(    (   R
   R   (    (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR˜   B  s   c            s   t  ˆ  _ d  S(   N(   R   R™   (   R“   R”   Rš   RN   R•   R^   t   report_items(   R›   (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   mock_report_dir_successH  s    R’   R   c           B   s   e  Z d  „  Z RS(   c         S   s   t  S(   N(   R   (   R	   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR   N  s    (   R
   R   R   (    (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR   M  s   R   s*   assert %(py2)s
{%(py2)s = %(py0)s.called
}R<   R›   R   N(    (    (   R   R™   Rž   R   t   report_successR   Rj   R   R   R   R   R   R    R!   (   RŸ   R˜   R¦   R   R•   R#   RQ   (    (   R›   sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_report_success_dir?  s    			+	  U  c            s  d d d „  ƒ  Y} | ƒ  ‰  t  ˆ  _ ‡  f d †  } |  j t d | ƒ d d d „  ƒ  Y} | ƒ  } t j d d t ƒ  g  | t d g ƒ g  ƒ ˆ  j } | s
d d i t j | ƒ d	 6d
 t	 j
 ƒ  k sØ t j ˆ  ƒ rç t j ˆ  ƒ n d
 d 6} t t j | ƒ ƒ ‚ n  d } d S(   s   Successfully report on a fileR˜   c           B   s   e  Z RS(    (   R
   R   (    (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR˜   Y  s   c            s   t  ˆ  _ d  S(   N(   R   R™   (   R“   R”   RN   R•   R^   R¥   (   R›   (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   mock_report_file_success_  s    R¢   R   c           B   s   e  Z d  „  Z RS(   c         S   s   t  S(   N(   R   (   R	   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR   f  s    (   R
   R   R   (    (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR   e  s   R   s*   assert %(py2)s
{%(py2)s = %(py0)s.called
}R<   R›   R   N(    (    (   R   R™   Rž   R   R§   R   Rj   R   R   R   R   R   R    R!   (   RŸ   R˜   R©   R   R•   R#   RQ   (    (   R›   sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_report_success_fileV  s    			+	  U  c    	      C   sÀ  d }  d } d } t  j } g  } | | | |  ƒ } | | k } | rªt j d f | f d f | | f ƒ i t j | ƒ d 6d t j ƒ  k p› t j t  ƒ r­ t j t  ƒ n d d 6d	 t j ƒ  k pÒ t j |  ƒ rä t j |  ƒ n d	 d
 6d t j ƒ  k p	t j | ƒ rt j | ƒ n d d 6t j | ƒ d 6t j | ƒ d 6d t j ƒ  k p`t j | ƒ rrt j | ƒ n d d 6} d d i | d 6} t t j	 | ƒ ƒ ‚ n  t
 } } } } d S(   s:   Do we get the pointer we expect when the text is unmached?s    wordss
   some wordss       ^s   ==sq   %(py8)s
{%(py8)s = %(py2)s
{%(py2)s = %(py0)s.unmatched_visual_pointer
}(%(py4)s, %(py5)s, %(py6)s)
} == %(py10)sR<   R   R   t	   unmatchedR>   R   R   R?   R}   t   vptrR*   R   s   assert %(py12)st   py12N(   R   t   unmatched_visual_pointerR   R   R   R   R   R   R    R!   R   (	   R«   R   R¬   R#   RB   RD   R7   R3   RJ   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt$   test_unmatched_visual_pointer_stringp  s    	     ÿ 8   c    	      C   sÀ  t  }  d } d } t j } g  } | | | |  ƒ } | | k } | rªt j d f | f d f | | f ƒ i t j | ƒ d 6d t j ƒ  k p› t j t ƒ r­ t j t ƒ n d d 6d t j ƒ  k pÒ t j |  ƒ rä t j |  ƒ n d d	 6d
 t j ƒ  k p	t j | ƒ rt j | ƒ n d
 d 6t j | ƒ d 6t j | ƒ d 6d t j ƒ  k p`t j | ƒ rrt j | ƒ n d d 6} d d i | d 6} t	 t j
 | ƒ ƒ ‚ n  t } } } } d S(   s:   Do we get the pointer we expect when the text is unmached?s
   some wordss             ^s   ==sq   %(py8)s
{%(py8)s = %(py2)s
{%(py2)s = %(py0)s.unmatched_visual_pointer
}(%(py4)s, %(py5)s, %(py6)s)
} == %(py10)sR<   R   R   R«   R>   R   R   R?   R}   R¬   R*   R   s   assert %(py12)sR­   N(   R   R   R®   R   R   R   R   R   R   R    R!   R   (	   R«   R   R¬   R#   RB   RD   R7   R3   RJ   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt"   test_unmatched_visual_pointer_truex  s    	     ÿ 8   c         C   s3  t  j ƒ  } d } t | ƒ } t j d d d ƒ } t j | g  | | t t | g ƒ ƒ |  j	 ƒ  \ } } | j
 } d } | | ƒ }	 d }
 |	 |
 k } | sbt j d | f d |	 |
 f ƒ i t j | ƒ d	 6t j |
 ƒ d
 6d t j ƒ  k sÿ t j | ƒ rt j | ƒ n d d 6t j |	 ƒ d 6t j | ƒ d 6} d i | d 6} t t j | ƒ ƒ ‚ n  d } } }	 } }
 d } | | k } | s%t j d | f d | | f ƒ i t j | ƒ d 6d t j ƒ  k sât j | ƒ rñt j | ƒ n d d 6} d i | d 6} t t j | ƒ ƒ ‚ n  d } } d S(   s   Deliver multi-line outputR¡   i   s	   file namei   s   
i    RŽ   sJ   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.count
}(%(py4)s)
} > %(py9)sR<   R=   R   R   R>   R?   R   s   assert %(py11)sR@   s   ==s   %(py0)s == %(py3)sR   RW   s   assert %(py5)sR   N(   RŽ   (   sJ   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.count
}(%(py4)s)
} > %(py9)ss   assert %(py11)s(   s   ==(   s   %(py0)s == %(py3)ss   assert %(py5)s(   R    RP   R   R   R\   R   t   report_failureR   Rj   RU   R…   R   R   R   R   R   R   R    R!   R   (   RV   R“   t   stripped_nameR•   R^   R   RW   R#   RB   RC   R1   RD   RE   R9   R"   R$   R%   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_report_failure‚  s0    	      œ      l   c          C   s^  d }  t  |  ƒ } t j } | | ƒ } | |  k } | sLt j d | f d | |  f ƒ i d t j ƒ  k s{ t j | ƒ rŠ t j | ƒ n d d 6t j | ƒ d 6d t j ƒ  k sÂ t j t ƒ rÑ t j t ƒ n d d 6d	 t j ƒ  k sù t j |  ƒ rt j |  ƒ n d	 d
 6t j | ƒ d 6} d i | d 6} t	 t j
 | ƒ ƒ ‚ n  d } } } d S(   s   Does a dir keep its extension?s   dir.names   ==sU   %(py5)s
{%(py5)s = %(py2)s
{%(py2)s = %(py0)s.strip_extension
}(%(py3)s)
} == %(py7)sR•   R   R<   R   R   R   R)   R   R   s   assert %(py9)sR=   N(   s   ==(   sU   %(py5)s
{%(py5)s = %(py2)s
{%(py2)s = %(py0)s.strip_extension
}(%(py3)s)
} == %(py7)ss   assert %(py9)s(   R   R   t   strip_extensionR   R   R   R   R   R   R    R!   R   (   R   R•   R#   R/   R0   RX   RE   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_strip_extension_dir’  s    	    ê   c          C   s;  t  d ƒ }  t j } | |  ƒ } d } | | k } | s%t j d | f d | | f ƒ i d t j ƒ  k s{ t j |  ƒ rŠ t j |  ƒ n d d 6t j | ƒ d 6d t j ƒ  k sÂ t j t ƒ rÑ t j t ƒ n d d	 6t j | ƒ d
 6t j | ƒ d 6} d i | d 6} t	 t j
 | ƒ ƒ ‚ n  d } } } } d S(   s   Does a file lose its extension?s   file.extt   files   ==sU   %(py5)s
{%(py5)s = %(py2)s
{%(py2)s = %(py0)s.strip_extension
}(%(py3)s)
} == %(py8)sR•   R   R<   R   R   R}   R   R   s   assert %(py10)sR*   N(   s   ==(   sU   %(py5)s
{%(py5)s = %(py2)s
{%(py2)s = %(py0)s.strip_extension
}(%(py3)s)
} == %(py8)ss   assert %(py10)s(   R   R   R´   R   R   R   R   R   R   R    R!   R   (   R•   R#   R/   RD   R0   R2   R3   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_strip_extension_file™  s    	     Ã   c         C   s+  d d d „  ƒ  Y} t  j ƒ  } | ƒ  } t d ƒ } t j | | t ƒ  g  | ƒ |  j ƒ  \ } } | j } d } | | ƒ }	 d }
 |	 |
 k } | sZt j	 d | f d |	 |
 f ƒ i t j
 | ƒ d 6t j
 |
 ƒ d	 6d
 t j ƒ  k s÷ t j | ƒ rt j
 | ƒ n d
 d 6t j
 |	 ƒ d 6t j
 | ƒ d 6} d i | d 6} t t j | ƒ ƒ ‚ n  d } } }	 } }
 d } | | k } | st j	 d | f d | | f ƒ i t j
 | ƒ d 6d t j ƒ  k sÚt j | ƒ rét j
 | ƒ n d d 6} d i | d 6} t t j | ƒ ƒ ‚ n  d } } d S(   s)   Does a failure deliver multi-line output?t
   MockFSTreec           B   s   e  Z d  „  Z RS(   c         S   s+   t  j d d d ƒ } t t | g ƒ g  f S(   Ni   s   dir name(   R   R\   R   Rj   (   R	   R   R^   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   invalid¤  s    (   R
   R   R¹   (    (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR¸   £  s   R‘   s   
i    RŽ   sJ   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.count
}(%(py4)s)
} > %(py9)sR<   R=   R   R   R>   R?   R   s   assert %(py11)sR@   s   ==s   %(py0)s == %(py3)sR   RW   s   assert %(py5)sR   N(    (   RŽ   (   sJ   %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.count
}(%(py4)s)
} > %(py9)ss   assert %(py11)s(   s   ==(   s   %(py0)s == %(py3)ss   assert %(py5)s(   R    RP   R   R   t   entry_reportRj   RU   R…   R   R   R   R   R   R   R    R!   R   (   RV   R¸   R“   R”   R•   R   RW   R#   RB   RC   R1   RD   RE   R9   R"   R$   R%   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_entry_report_failure¡  s.    		      œ      l   c            s  d d d „  ƒ  Y} | ƒ  ‰  t  ˆ  _ d d d „  ƒ  Y} ‡  f d †  } |  j t d | ƒ | ƒ  } t d ƒ } t j d | t ƒ  g  | ƒ ˆ  j } | sd d	 i t j	 | ƒ d
 6d t
 j ƒ  k sÕ t j ˆ  ƒ rä t j	 ˆ  ƒ n d d 6} t t j | ƒ ƒ ‚ n  d } d S(   s5   Is report_success() called when the analyzer matches?R˜   c           B   s   e  Z RS(    (   R
   R   (    (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR˜   ³  s   R¸   c           B   s   e  Z d  „  Z d „  Z RS(   c         S   s   d t  g  ƒ g  f S(   NR   (   Rj   (   R	   R   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR¹   º  s    c         S   s   t  S(   N(   R   (   R	   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR   ½  s    (   R
   R   R¹   R   (    (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR¸   ¹  s   	c            s   t  ˆ  _ d  S(   N(   R   R™   (   R“   R”   Rš   RN   R•   Rg   R¥   (   R›   (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   mock_report_successÀ  s    R§   s   file name.extR   s*   assert %(py2)s
{%(py2)s = %(py0)s.called
}R<   R›   R   N(    (    (   R   R™   Rž   R   R   Rº   R   Rj   R   R   R   R   R   R    R!   (   RŸ   R˜   R¸   R¼   R”   R•   R#   RQ   (    (   R›   sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_entry_report_success±  s    				  U  c   	      C   sE  d „  } |  j  t d | ƒ d „  } |  j  t d | ƒ g  } | } t d ƒ } t j d d t ƒ  | | ƒ | | k } | s;t j d | f d | | f ƒ i d t j	 ƒ  k sÁ t j
 | ƒ rÐ t j | ƒ n d d	 6d
 t j	 ƒ  k sø t j
 | ƒ rt j | ƒ n d
 d 6} d i | d 6} t t j | ƒ ƒ ‚ n  d } d S(   s   Headers don't changec         S   s
   t  g  ƒ S(   N(   Rj   (   R   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   mock_scandirÐ  s    t   scandirc         S   s   d  S(   N(    (   R“   R”   Rš   RN   R•   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   mock_entry_reportÔ  s    Rº   R‘   s   ==s   %(py0)s == %(py2)sRM   R<   RN   R   R   s   assert %(py4)sR?   N(   s   ==(   s   %(py0)s == %(py2)ss   assert %(py4)s(   Rž   R   R   R   R   Rj   R   R   R   R   R   R   R    R!   (	   RŸ   R¾   RÀ   RM   RN   R•   R#   RQ   RR   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_dir_report_headersÎ  s    		  “   c   
         sl  d d d „  ƒ  Y} | ƒ  ‰  g  ˆ  _  d „  } |  j t d | ƒ ‡  f d †  } |  j t d | ƒ t d ƒ } t j d d t ƒ  g  | ƒ ˆ  j  } d d	 d
 g } | | k } | sZt j d | f d | | f ƒ i t j	 | ƒ d 6d t
 j ƒ  k st j ˆ  ƒ rt j	 ˆ  ƒ n d d 6t j	 | ƒ d 6} d i | d 6}	 t t j |	 ƒ ƒ ‚ n  d } } } d S(   s[   report_entry() is called with the entries of the dir,

    sorted case-insensitivly by nameR˜   c           B   s   e  Z RS(    (   R
   R   (    (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR˜   ä  s   c         S   s%   t  t d ƒ t d ƒ t d ƒ g ƒ S(   Nt   xyzt   ABxt   Abc(   Rj   R   (   R   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR¾   ê  s    		R¿   c            s   ˆ  j  j | j ƒ d  S(   N(   t   namesRŠ   R   (   R“   R”   Rš   RN   R•   (   R›   (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyRÀ   ñ  s    Rº   R‘   RÄ   RÃ   RÂ   s   ==s-   %(py2)s
{%(py2)s = %(py0)s.names
} == %(py5)sR<   R›   R   R   R   s   assert %(py7)sR)   N(    (   s   ==(   s-   %(py2)s
{%(py2)s = %(py0)s.names
} == %(py5)ss   assert %(py7)s(   RÅ   Rž   R   R   R   R   Rj   R   R   R   R   R   R   R    R!   (
   RŸ   R˜   R¾   RÀ   R•   R#   R/   RB   R%   RX   (    (   R›   sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_dir_report_entriesà  s"    				    |   c   
         so  d d d „  ƒ  Y} | ƒ  ‰  g  ˆ  _  d „  } |  j t d | ƒ ‡  f d †  } |  j t d | ƒ t d ƒ } t j d d t d d	 g ƒ g  | ƒ ˆ  j  } d
 g } | | k } | s]t j d | f d | | f ƒ i t j	 | ƒ d 6d t
 j ƒ  k s
t j ˆ  ƒ rt j	 ˆ  ƒ n d d 6t j	 | ƒ d 6} d i | d 6}	 t t j |	 ƒ ƒ ‚ n  d } } } d S(   sc   report_entry() is not called with ignored entries of the dir,

    sorted case-insensitivly by nameR˜   c           B   s   e  Z RS(    (   R
   R   (    (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR˜   ÿ  s   c         S   s%   t  t d ƒ t d ƒ t d ƒ g ƒ S(   NRÂ   RÃ   RÄ   (   Rj   R   (   R   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR¾     s    		R¿   c            s   ˆ  j  j | j ƒ d  S(   N(   RÅ   RŠ   R   (   R“   R”   Rš   RN   R•   (   R›   (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyRÀ     s    Rº   R‘   RÃ   RÄ   RÂ   s   ==s-   %(py2)s
{%(py2)s = %(py0)s.names
} == %(py5)sR<   R›   R   R   R   s   assert %(py7)sR)   N(    (   s   ==(   s-   %(py2)s
{%(py2)s = %(py0)s.names
} == %(py5)ss   assert %(py7)s(   RÅ   Rž   R   R   R   R   Rj   R   R   R   R   R   R   R    R!   (
   RŸ   R˜   R¾   RÀ   R•   R#   R/   RB   R%   RX   (    (   R›   sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_dir_report_ignoresû  s"    			%	 	   |   c   
      C   sd  d „  } | j  t d | ƒ t j t j ƒ  d t ƒ  ƒ |  j ƒ  \ } } d } | | k } | s÷ t j	 d | f d | | f ƒ i t j
 | ƒ d 6d t j ƒ  k s´ t j | ƒ rÃ t j
 | ƒ n d d 6} d i | d
 6} t t j | ƒ ƒ ‚ n  d } } | s`d i d t j ƒ  k s.t j | ƒ r=t j
 | ƒ n d d 6}	 t t j |	 ƒ ƒ ‚ n  d S(   s=   Print a message when there's nothing in the current directoryc         S   s
   t  g  ƒ S(   N(   Rj   (   R   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR¾     s    R¿   R   s   ==s   %(py0)s == %(py3)sR   RW   R   s   assert %(py5)sR   s   assert %(py0)sR   N(   s   ==(   s   %(py0)s == %(py3)ss   assert %(py5)ss   assert %(py0)s(   Rž   R   t   analyze_dirsR    RP   R   Rj   RU   R   R   R   R   R   R   R    R!   (
   RV   RŸ   R¾   R   RW   R"   R#   R$   R%   R–   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_analyze_dirs_nodirs  s    	   l   
 A c   	         sg  d d d „  ƒ  Y} | ƒ  ‰  g  ˆ  _  d „  } |  j t d | ƒ ‡  f d †  } |  j t d | ƒ t j t j ƒ  d i t ƒ  d 6ƒ ˆ  j  } d d	 d
 g } | | k } | sUt j	 d | f d | | f ƒ i t j
 | ƒ d 6d t j ƒ  k st j ˆ  ƒ rt j
 ˆ  ƒ n d d 6t j
 | ƒ d 6} d i | d 6} t t j | ƒ ƒ ‚ n  d } } } d S(   sL   report_dir() is called with dir content sorted
    case-insentivitly by nameR˜   c           B   s   e  Z RS(    (   R
   R   (    (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR˜   '  s   c         S   s%   t  t d ƒ t d ƒ t d ƒ g ƒ S(   NRÂ   RÃ   RÄ   (   Rj   R   (   R   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR¾   -  s    		R¿   c            s   ˆ  j  j | j ƒ d  S(   N(   RÅ   RŠ   R   (   R“   R”   Rš   RN   R•   (   R›   (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyRœ   4  s    R   t   ignored_namesRÄ   RÃ   RÂ   s   ==s-   %(py2)s
{%(py2)s = %(py0)s.names
} == %(py5)sR<   R›   R   R   R   s   assert %(py7)sR)   N(    (   s   ==(   s-   %(py2)s
{%(py2)s = %(py0)s.names
} == %(py5)ss   assert %(py7)s(   RÅ   Rž   R   RÈ   R    RP   R   Rj   R   R   R   R   R   R   R    R!   (	   RŸ   R˜   R¾   Rœ   R#   R/   RB   R%   RX   (    (   R›   sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_analyze_dirs_sorted$  s     			#	    |   c   
      C   sd  d „  } | j  t d | ƒ t j t j ƒ  d t ƒ  ƒ |  j ƒ  \ } } d } | | k } | s÷ t j	 d | f d | | f ƒ i t j
 | ƒ d 6d t j ƒ  k s´ t j | ƒ rÃ t j
 | ƒ n d d 6} d i | d
 6} t t j | ƒ ƒ ‚ n  d } } | s`d i d t j ƒ  k s.t j | ƒ r=t j
 | ƒ n d d 6}	 t t j |	 ƒ ƒ ‚ n  d S(   s5   Print a message when a file is checked as a directoryc         S   s   t  t d ƒ g ƒ S(   NR¡   (   Rj   R   (   R   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyR¾   >  s    R¿   R   s   ==s   %(py0)s == %(py3)sR   RW   R   s   assert %(py5)sR   s   assert %(py0)sR   N(   s   ==(   s   %(py0)s == %(py3)ss   assert %(py5)ss   assert %(py0)s(   Rž   R   RÈ   R    RP   R   Rj   RU   R   R   R   R   R   R   R    R!   (
   RV   RŸ   R¾   R   RW   R"   R#   R$   R%   R–   (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   test_analyze_dirs_file<  s    	   l   
 A (9   t   __builtin__R   t   _pytest.assertion.rewritet	   assertiont   rewriteR   Ry   t   enforcerR    R   R   t   objectR   R   R   R   R&   R4   R;   RF   RL   RS   RY   RZ   R_   Rb   Re   Rl   Rr   Rt   Rv   Rw   R|   R   R†   R‡   R   R   R—   R    R£   R¤   R¨   Rª   R¯   R°   R³   Rµ   R·   R»   R½   RÁ   RÆ   RÇ   RÉ   RË   RÌ   (    (    (    sQ   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/tests/test_report.pyt   <module>   sd     																									
											
										