
    i3id                     b    d Z ddlZddlmc mZ ddlZddlm	Z	 ddl
Z
 e	d      Z G d d      Zy)u   task-1085.1: InsuRo 사이드바 간격 최적화 테스트

AppSidebar.tsx의 간격 최적화가 올바르게 적용되었는지 검증합니다.
    N)Pathz7/home/jay/projects/InsuRo/src/components/AppSidebar.tsxc                       e Zd ZdZej
                  defd       ZdeddfdZdeddfdZ	ddZ
deddfd	Zdeddfd
Zy)TestSidebarSpacingOptimizationu(   사이드바 간격 최적화 테스트.returnc                     t         j                         st        j                  dt                 t         j	                  d      S )u$   AppSidebar.tsx 파일 내용 로드.   파일 없음: zutf-8)encoding)SIDEBAR_FILEexistspytestskip	read_text)selfs    =/home/jay/workspace/tests/test_task_1085_1_sidebar_spacing.pysidebar_contentz.TestSidebarSpacingOptimization.sidebar_content   s7     ""$KK/,89%%w%77    r   Nc                    d}||v }|st        j                  d|fd||f      t        j                  |      dt        j                         v st        j
                  |      rt        j                  |      nddz  }dd|iz  }t        t        j                  |            dx}}g }d	}||v }|}|sd
}||v }	|	}|sXt        j                  d|fd||f      t        j                  |      dt        j                         v st        j
                  |      rt        j                  |      nddz  }dd|iz  }
|j                  |
       |st        j                  d	fd|f      t        j                  |      dt        j                         v st        j
                  |      rt        j                  |      nddz  }dd|iz  }|j                  |       t        j                  |d      i z  }dd|iz  }t        t        j                  |            dx}x}x}x}x}}	d}||v }|st        j                  d|fd||f      t        j                  |      dt        j                         v st        j
                  |      rt        j                  |      nddz  }dd|iz  }t        t        j                  |            dx}}y)u;   네비게이션 아이템 간격이 최적화되어야 함.zpx-3in)z%(py1)s in %(py3)sr   )py1py3zassert %(py5)spy5Nzpy-1.5zpy-2.5z%(py3)s in %(py5)sr   r   %(py7)spy7z%(py10)s in %(py12)spy10py12%(py14)spy14   assert %(py17)spy17gap-2)

@pytest_ar_call_reprcompare	_saferepr@py_builtinslocals_should_repr_global_nameAssertionError_format_explanationappend_format_boolop)r   r   @py_assert0@py_assert2@py_format4@py_format6@py_assert1@py_assert4@py_assert9@py_assert11@py_format8@py_format13@py_format15@py_format16@py_format18s                  r   $test_navigation_item_spacing_reducedzCTestSidebarSpacingOptimization.test_navigation_item_spacing_reduced   s{    (v((((v(((v((((((((((((((((IxIx?*IhIh/.IIIIIx?IIIxIIIIII?III?IIIIIIIh/IIIhIIIIII/III/IIIIIIIIIIIIII)w/))))w/)))w))))))/)))/)))))))r   c                    g }d}||v }|}|sd}||v }|}|sXt        j                  d|fd||f      t        j                  |      dt        j                         v st        j
                  |      rt        j                  |      nddz  }dd|iz  }	|j                  |	       |st        j                  dfd	|f      t        j                  |      dt        j                         v st        j
                  |      rt        j                  |      ndd
z  }
dd|
iz  }|j                  |       t        j                  |d      i z  }dd|iz  }t        t        j                  |            dx}x}x}x}x}}y)u<   사용자 프로필 카드 간격이 최적화되어야 함.zgap-2.5r&   r   r   r   r   r   r   r   r   r!   r"   r#   r$   r%   N)
r'   r(   r)   r*   r+   r,   r/   r0   r-   r.   )r   r   r5   r2   r6   r1   r7   r8   r4   r9   r:   r;   r<   r=   s                 r   !test_user_profile_spacing_reducedz@TestSidebarSpacingOptimization.test_user_profile_spacing_reduced   s    IyIyO+IwIw//IIIIIyOIIIyIIIIIIOIIIOIIIIIIIw/IIIwIIIIII/III/IIIIIIIIIIIIIIr   c                    t         j                  } |       }|st        j                  dt                dz   dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |      t        j                  |      dz  }t        t        j                  |            dx}}y)u   파일이 존재해야 함.r   zC
>assert %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.exists
}()
}r
   )py0py2py4N)
r
   r   r'   _format_assertmsgr*   r+   r,   r)   r-   r.   )r   r5   @py_assert3@py_format5s       r   test_file_existsz/TestSidebarSpacingOptimization.test_file_exists#   sr    ""F"$F$FF~&FFFFFFF|FFF|FFF"FFF$FFFFFFr   c                 R   t        |      }d}||kD  }|st        j                  d|fd||f      dt        j                         v st        j
                  t               rt        j                  t               nddt        j                         v st        j
                  |      rt        j                  |      ndt        j                  |      t        j                  |      dz  }t        j                  d      dz   d	|iz  }t        t        j                  |            d
x}x}}y
)u%   파일이 비어있지 않아야 함.r   )>)z/%(py3)s
{%(py3)s = %(py0)s(%(py1)s)
} > %(py6)slenr   )rB   r   r   py6u   파일이 비어있음z
>assert %(py8)spy8N)
rK   r'   r(   r*   r+   r,   r)   rE   r-   r.   )r   r   r2   @py_assert5r6   @py_format7@py_format9s          r   test_file_not_emptyz2TestSidebarSpacingOptimization.test_file_not_empty'   s    ?#AaA#a'AAA#aAAAAAAsAAAsAAAAAA?AAA?AAA#AAAaAAA)AAAAAAAAr   c                 0   g d}t        fd|D              }|s{t        j                  d      dz   ddt        j                         v st        j
                  |      rt        j                  |      ndiz  }t        t        j                  |            y)u$   Tailwind 클래스가 있어야 함.)flexzitems-centerroundedzgap-c              3   &   K   | ]  }|v  
 y w)N ).0clsr   s     r   	<genexpr>zKTestSidebarSpacingOptimization.test_has_tailwind_classes.<locals>.<genexpr>.   s     Nc3/1Ns   u   Tailwind 클래스 없음z
>assert %(py0)srB   has_tailwindN)	anyr'   rE   r*   r+   r,   r)   r-   r.   )r   r   tailwind_classesrZ   @py_format1s    `   r   test_has_tailwind_classesz8TestSidebarSpacingOptimization.test_has_tailwind_classes+   sV    FN=MNN888888888|888|88888|r   )r   N)__name__
__module____qualname____doc__r   fixturestrr   r>   r@   rH   rQ   r^   rV   r   r   r   r      sz    2^^8 8 8*C *D *J J JGB3 B4 B9 9 9r   r   )rb   builtinsr*   _pytest.assertion.rewrite	assertionrewriter'   repathlibr   r   r
   r   rV   r   r   <module>rk      s.   
  	  MN!9 !9r   