
    Si	                         d Z ddlZddlZddlmZ ddlZ eej                  j                  dd            Z e	e      ej                  vr"ej                  j                  d e	e             ddlmZ  G d d      Zy)	u`   
test_validate_composite.py

_validate_composite_teams() 단위 테스트 (아르고스 작성)
    N)PathWORKSPACE_ROOTz/home/jay/workspace_validate_composite_teamsc                   R    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y)TestValidateCompositeTeamsu6   _validate_composite_teams() 유효성 검증 테스트c                 ,    t        d      }|ddgk(  sJ y )Nzmarketing,design	marketingdesignr   selfresults     N/home/jay/workspace/.worktrees/task-2117-dev1/tests/test_validate_composite.pytest_valid_two_teamsz/TestValidateCompositeTeams.test_valid_two_teams   s     *+=>+x0000    c                 ,    t        d      }|g dk(  sJ y )Nzmarketing,design,consulting)r
   r   
consultingr   r   s     r   test_valid_three_teamsz1TestValidateCompositeTeams.test_valid_three_teams   s    *+HI>>>>r   c                 ,    t        d      }|ddgk(  sJ y )Nzmarketing , designr
   r   r   r   s     r   test_valid_with_spacesz1TestValidateCompositeTeams.test_valid_with_spaces   s     *+?@+x0000r   c                 z    t        j                  t        d      5  t        d       d d d        y # 1 sw Y   y xY w)N   2개 이상matchr
   pytestraises
ValueErrorr   r   s    r   test_single_team_raisesz2TestValidateCompositeTeams.test_single_team_raises#   s-    ]]:]; 	3%k2	3 	3 	3   1:c                 z    t        j                  t        d      5  t        d       d d d        y # 1 sw Y   y xY w)Nr   r    r   r   s    r   test_empty_string_raisesz3TestValidateCompositeTeams.test_empty_string_raises'   s-    ]]:]; 	*%b)	* 	* 	*r!   c                 z    t        j                  t        d      5  t        d       ddd       y# 1 sw Y   yxY w)u8   연속 쉼표는 빈 토큰 필터링 후 팀 수 검증r   r   z,,,marketing,,,Nr   r   s    r   test_consecutive_commasz2TestValidateCompositeTeams.test_consecutive_commas+   s.    ]]:]; 	9%&78	9 	9 	9r!   c                 z    t        j                  t        d      5  t        d       d d d        y # 1 sw Y   y xY w)Nu   최대r   z&marketing,design,consulting,publishingr   r   s    r   test_four_teams_exceeds_maxz6TestValidateCompositeTeams.test_four_teams_exceeds_max0   s2    ]]:X6 	P%&NO	P 	P 	Pr!   c                 z    t        j                  t        d      5  t        d       d d d        y # 1 sw Y   y xY w)N   알 수 없는 팀 IDr   zmarketing,unknown_teamr   r   s    r   test_unknown_team_raisesz3TestValidateCompositeTeams.test_unknown_team_raises4   s3    ]]:-DE 	@%&>?	@ 	@ 	@r!   c                 z    t        j                  t        d      5  t        d       d d d        y # 1 sw Y   y xY w)Nr*   r   zmarketing,dev1-teamr   r   s    r   test_dev_team_not_allowedz4TestValidateCompositeTeams.test_dev_team_not_allowed8   s/    ]]:-DE 	=%&;<	= 	= 	=r!   c                 z    t        j                  t        d      5  t        d       d d d        y # 1 sw Y   y xY w)Nu   중복r   zmarketing,marketingr   r   s    r   test_duplicate_teams_raisesz6TestValidateCompositeTeams.test_duplicate_teams_raises<   s.    ]]:X6 	=%&;<	= 	= 	=r!   c                 ^    t        d      }t        |t              sJ t        |      dk(  sJ y )Nzconsulting,publishing   )r   
isinstancelistlenr   s     r   test_returns_listz,TestValidateCompositeTeams.test_returns_list@   s/    *+BC&$'''6{ar   N)__name__
__module____qualname____doc__r   r   r   r    r$   r&   r(   r+   r-   r/   r5    r   r   r   r      s>    @1?13*9
P@== r   r   )r9   ossyspathlibr   r   environget
_WORKSPACEstrpathinsertdispatchr   r   r:   r   r   <module>rE      sf    
 
  "**..!13HIJ
z?#(("HHOOAs:' ./  / r   