§
    TnÊiy  ã                  ób   — d Z ddlmZ ddlZddlmc mZ ddl	m
Z
 ddlmZ  G d„ d¦  «        ZdS )z+Tests for run_meeting CLI argument parsing.é    )ÚannotationsN)ÚPath)Ú
parse_argsc                  ó¢   — e Zd ZdZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
dd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zdd„ZdS )ÚTestParseArgszTests for CLI argument parsing.ÚreturnÚNonec                ó,  — t          g d¢¦  «        }|j        }d}||k    }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|j
        }d	}||k    }|sªt          j        d|fd
||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}d S )N)ú--topicú
Test topicú--agentsúarch,devopsr   ©ú==)z-%(py2)s
{%(py2)s = %(py0)s.topic
} == %(py5)sÚargs©Úpy0Úpy2Úpy5úassert %(py7)sÚpy7r   )z.%(py2)s
{%(py2)s = %(py0)s.agents
} == %(py5)s)r   ÚtopicÚ
@pytest_arÚ_call_reprcompareÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚagents©Úselfr   Ú@py_assert1Ú@py_assert4Ú@py_assert3Ú@py_format6Ú@py_format8s          úA/root/projects/multi-agents-meeting/tests/test_run_meeting_cli.pyÚtest_parse_required_argsz&TestParseArgs.test_parse_required_args   sÖ  € ÝÐNÐNÐNÑOÔOˆØŒzÐ)˜\Ð)ˆz˜\Ò)Ð)Ð)Ð)Õ)Ô)Ð)Ð)Ð)Ð)ˆz˜\Ð)Ñ)Ô)Ð)Õ)Ô)Ñ)Ô)Ð)Ð)Õ)Ô)ˆtÑ)Ô)Ð)Õ)Ô)ˆtÑ)Ô)Ð)Ð)Õ)Ô)ˆzÑ)Ô)Õ)Ô)˜\Ñ)Ô)Ð)Ð)Ñ)Ð)Ð)Ð)Ð)Ð)Ñ)Ð)Õ)Õ)Ô)Ð)Ñ)Ô)Ñ)Ô)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ØŒ{Ð+˜mÐ+ˆ{˜mÒ+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+ˆ{˜mÐ+Ñ+Ô+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+ˆtÑ+Ô+Ð+Õ+Ô+ˆtÑ+Ô+Ð+Ð+Õ+Ô+ˆ{Ñ+Ô+Õ+Ô+˜mÑ+Ô+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+ó    c                ó®  — t          g d¢¦  «        }|j        }d}||k    }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|j
        }d	}||k    }|sªt          j        d|fd
||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|j        }d}||k    }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}d S )N)
r   ÚTestr   za,bz--max-roundsÚ15z--agents-dirú/custom/agentsz--output-dirú/custom/reportsé   r   )z2%(py2)s
{%(py2)s = %(py0)s.max_rounds
} == %(py5)sr   r   r   r   r/   ©z2%(py2)s
{%(py2)s = %(py0)s.agents_dir
} == %(py5)sr0   ©z2%(py2)s
{%(py2)s = %(py0)s.output_dir
} == %(py5)s©r   Ú
max_roundsr   r   r   r   r   r   r   r    Ú
agents_dirÚ
output_dirr"   s          r)   Útest_parse_optional_argsz&TestParseArgs.test_parse_optional_args   sÇ  € Ýð 
ð 
ð 
ñ ô ˆð ŒÐ$ "Ð$ˆ "Ò$Ð$Ð$Ð$Õ$Ô$Ð$Ð$Ð$Ð$ˆ "Ð$Ñ$Ô$Ð$Õ$Ô$Ñ$Ô$Ð$Ð$Õ$Ô$ˆtÑ$Ô$Ð$Õ$Ô$ˆtÑ$Ô$Ð$Ð$Õ$Ô$ˆÑ$Ô$Õ$Ô$ "Ñ$Ô$Ð$Ð$Ñ$Ð$Ð$Ð$Ð$Ð$Ñ$Ð$Õ$Õ$Ô$Ð$Ñ$Ô$Ñ$Ô$Ð$Ð$Ð$Ð$Ð$Ð$Ð$ØŒÐ2Ð"2Ð2ˆÐ"2Ò2Ð2Ð2Ð2Õ2Ô2Ð2Ð2Ð2Ð2ˆÐ"2Ð2Ñ2Ô2Ð2Õ2Ô2Ñ2Ô2Ð2Ð2Õ2Ô2ˆtÑ2Ô2Ð2Õ2Ô2ˆtÑ2Ô2Ð2Ð2Õ2Ô2ˆÑ2Ô2Õ2Ô2Ð"2Ñ2Ô2Ð2Ð2Ñ2Ð2Ð2Ð2Ð2Ð2Ñ2Ð2Õ2Õ2Ô2Ð2Ñ2Ô2Ñ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2ØŒÐ3Ð"3Ð3ˆÐ"3Ò3Ð3Ð3Ð3Õ3Ô3Ð3Ð3Ð3Ð3ˆÐ"3Ð3Ñ3Ô3Ð3Õ3Ô3Ñ3Ô3Ð3Ð3Õ3Ô3ˆtÑ3Ô3Ð3Õ3Ô3ˆtÑ3Ô3Ð3Ð3Õ3Ô3ˆÑ3Ô3Õ3Ô3Ð"3Ñ3Ô3Ð3Ð3Ñ3Ð3Ð3Ð3Ð3Ð3Ñ3Ð3Õ3Õ3Ô3Ð3Ñ3Ô3Ñ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3Ð3r+   c                óª  — t          g d¢¦  «        }|j        }d }||u }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|j
        }d}||k    }|sªt          j        d	|fd
||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}|j        }d}||k    }|sªt          j        d	|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d x}x}}d S )N©r   ÚTr   Úa©Úis©z2%(py2)s
{%(py2)s = %(py0)s.max_rounds
} is %(py5)sr   r   r   r   r!   r   r2   Úreportsr3   r4   r"   s          r)   Útest_default_valuesz!TestParseArgs.test_default_values   s³  € ÝÐ;Ð;Ð;Ñ<Ô<ˆØŒÐ& $Ð&ˆ $Ð&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&ˆ $Ð&Ñ&Ô&Ð&Õ&Ô&Ñ&Ô&Ð&Ð&Õ&Ô&ˆtÑ&Ô&Ð&Õ&Ô&ˆtÑ&Ô&Ð&Ð&Õ&Ô&ˆÑ&Ô&Õ&Ô& $Ñ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&ØŒÐ* (Ð*ˆ (Ò*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*ˆ (Ð*Ñ*Ô*Ð*Õ*Ô*Ñ*Ô*Ð*Ð*Õ*Ô*ˆtÑ*Ô*Ð*Õ*Ô*ˆtÑ*Ô*Ð*Ð*Õ*Ô*ˆÑ*Ô*Õ*Ô* (Ñ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*ØŒÐ+ )Ð+ˆ )Ò+Ð+Ð+Ð+Õ+Ô+Ð+Ð+Ð+Ð+ˆ )Ð+Ñ+Ô+Ð+Õ+Ô+Ñ+Ô+Ð+Ð+Õ+Ô+ˆtÑ+Ô+Ð+Õ+Ô+ˆtÑ+Ô+Ð+Ð+Õ+Ô+ˆÑ+Ô+Õ+Ô+ )Ñ+Ô+Ð+Ð+Ñ+Ð+Ð+Ð+Ð+Ð+Ñ+Ð+Õ+Õ+Ô+Ð+Ñ+Ô+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+r+   c                ó¦  — t          g d¢¦  «        }|j        }d}||u }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚dx}x}}dS )	zBDefault max_rounds is None at parse level (main() resolves to 10).r:   Nr=   r?   r   r   r   r   )
r   r5   r   r   r   r   r   r   r   r    r"   s          r)   Útest_default_max_rounds_is_10z+TestParseArgs.test_default_max_rounds_is_10$   sù   € åÐ;Ð;Ð;Ñ<Ô<ˆØŒÐ& $Ð&ˆ $Ð&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&ˆ $Ð&Ñ&Ô&Ð&Õ&Ô&Ñ&Ô&Ð&Ð&Õ&Ô&ˆtÑ&Ô&Ð&Õ&Ô&ˆtÑ&Ô&Ð&Ð&Õ&Ô&ˆÑ&Ô&Õ&Ô& $Ñ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ð&r+   c                óª  — t          g d¢¦  «        }|j        }d}||k    }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}}d	S )
z)--context provides inline context string.)r   r;   r   r<   z	--contextúSome backgroundrE   r   ©z/%(py2)s
{%(py2)s = %(py0)s.context
} == %(py5)sr   r   r   r   N)
r   Úcontextr   r   r   r   r   r   r   r    r"   s          r)   Útest_cli_context_argumentz'TestParseArgs.test_cli_context_argument)   sý   € åÐ[Ð[Ð[Ñ\Ô\ˆØŒ|Ð0Ð0Ð0ˆ|Ð0Ò0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0ˆ|Ð0Ð0Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0ˆtÑ0Ô0Ð0Õ0Ô0ˆtÑ0Ô0Ð0Ð0Õ0Ô0ˆ|Ñ0Ô0Õ0Ô0Ð0Ñ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0r+   Útmp_pathr   c           
     ó,  — |dz  }|                      dd¬¦  «         t          ddddd	t          |¦  «        g¦  «        }|j        }t          |¦  «        }||k    }|s0t	          j        d
|fd||f¦  «        dt          j        ¦   «         v st	          j        |¦  «        rt	          j	        |¦  «        ndt	          j	        |¦  «        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	        |¦  «        dœz  }dd|iz  }t          t	          j        |¦  «        ¦  «        ‚dx}x}}dS )z)--context-file reads context from a file.zbrief.mdz# Brief

Detailed background.zutf-8)Úencodingr   r;   r   r<   z--context-filer   )zR%(py2)s
{%(py2)s = %(py0)s.context_file
} == %(py7)s
{%(py7)s = %(py4)s(%(py5)s)
}r   ÚstrÚctx_file)r   r   Úpy4r   r   zassert %(py9)sÚpy9N)Ú
write_textr   rL   Úcontext_filer   r   r   r   r   r   r   r    )	r#   rI   rM   r   r$   Ú@py_assert6r&   r(   Ú@py_format10s	            r)   Ú#test_cli_context_file_reads_contentz1TestParseArgs.test_cli_context_file_reads_content.   s²  € à˜jÑ(ˆØ×ÒÐ=ÈÐÑPÔPÐPÝØsØ˜Øc (™mœmð
ñ ô ˆð
 Ô Ð1¥C¨¡M¤MÐ1Ð  MÒ1Ð1Ð1Ñ1Õ1Ô1Ð1Ð1Ð1Ð1Ð  MÐ1Ñ1Ô1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1ˆtÑ1Ô1Ð1Õ1Ô1ˆtÑ1Ô1Ð1Ð1Õ1Ô1Ð Ñ1Ô1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1¥CÑ1Ô1Ð1Õ1Ô1¥CÑ1Ô1Ð1Ð1Ð1Õ1Ô1Ñ1Ô1Ð1Ð1Õ1Ô1¨Ñ1Ô1Ð1Õ1Ô1¨Ñ1Ô1Ð1Ð1Õ1Ô1 MÑ1Ô1Ð1Ð1Ñ1Ð1Ð1Ð1Ð1Ð1Ñ1Ð1Õ1Õ1Ô1Ð1Ñ1Ô1Ñ1Ô1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1Ð1r+   c                ó(  — t          g d¢¦  «        }|j        }d}||k    }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}}|j
        }d	}||u }|sªt          j        d
|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}}d	S )z#--context defaults to empty string.r:   Ú r   rF   r   r   r   r   Nr=   )z4%(py2)s
{%(py2)s = %(py0)s.context_file
} is %(py5)s)r   rG   r   r   r   r   r   r   r   r    rQ   r"   s          r)   Útest_context_defaults_emptyz)TestParseArgs.test_context_defaults_empty9   sÚ  € åÐ;Ð;Ð;Ñ<Ô<ˆØŒ|Ð!˜rÐ!ˆ|˜rÒ!Ð!Ð!Ð!Õ!Ô!Ð!Ð!Ð!Ð!ˆ|˜rÐ!Ñ!Ô!Ð!Õ!Ô!Ñ!Ô!Ð!Ð!Õ!Ô!ˆtÑ!Ô!Ð!Õ!Ô!ˆtÑ!Ô!Ð!Ð!Õ!Ô!ˆ|Ñ!Ô!Õ!Ô!˜rÑ!Ô!Ð!Ð!Ñ!Ð!Ð!Ð!Ð!Ð!Ñ!Ð!Õ!Õ!Ô!Ð!Ñ!Ô!Ñ!Ô!Ð!Ð!Ð!Ð!Ð!Ð!Ð!ØÔ Ð( DÐ(Ð  DÐ(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð  DÐ(Ñ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô(ˆtÑ(Ô(Ð(Õ(Ô(ˆtÑ(Ô(Ð(Ð(Õ(Ô(Ð Ñ(Ô(Õ(Ô( DÑ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ð(r+   c                ó(  — t          g d¢¦  «        }|j        }d}||k    }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}}|j
        }d	}||u }|sªt          j        d
|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}}d	S )z'--scenario specifies a preset scenario.©r   r;   z
--scenarioÚproduct_reviewrZ   r   ©z0%(py2)s
{%(py2)s = %(py0)s.scenario
} == %(py5)sr   r   r   r   Nr=   )z.%(py2)s
{%(py2)s = %(py0)s.agents
} is %(py5)s)r   Úscenarior   r   r   r   r   r   r   r    r!   r"   s          r)   Útest_scenario_argumentz$TestParseArgs.test_scenario_argument?   sÚ  € åÐJÐJÐJÑKÔKˆØŒ}Ð0Ð 0Ð0ˆ}Ð 0Ò0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0ˆ}Ð 0Ð0Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0ˆtÑ0Ô0Ð0Õ0Ô0ˆtÑ0Ô0Ð0Ð0Õ0Ô0ˆ}Ñ0Ô0Õ0Ô0Ð 0Ñ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0ØŒ{Ð"˜dÐ"ˆ{˜dÐ"Ð"Ð"Ð"Õ"Ô"Ð"Ð"Ð"Ð"ˆ{˜dÐ"Ñ"Ô"Ð"Õ"Ô"Ñ"Ô"Ð"Ð"Õ"Ô"ˆtÑ"Ô"Ð"Õ"Ô"ˆtÑ"Ô"Ð"Ð"Õ"Ô"ˆ{Ñ"Ô"Õ"Ô"˜dÑ"Ô"Ð"Ð"Ñ"Ð"Ð"Ð"Ð"Ð"Ñ"Ð"Õ"Õ"Ô"Ð"Ñ"Ô"Ñ"Ô"Ð"Ð"Ð"Ð"Ð"Ð"Ð"Ð"Ð"r+   c                ó¦  — t          g d¢¦  «        }|j        }d}||u }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}}d	S )
z.--auto-select enables PM auto agent selection.©r   r;   z--auto-selectTr=   ©z3%(py2)s
{%(py2)s = %(py0)s.auto_select
} is %(py5)sr   r   r   r   N©
r   Úauto_selectr   r   r   r   r   r   r   r    r"   s          r)   Útest_auto_select_argumentz'TestParseArgs.test_auto_select_argumentE   óý   € åÐ;Ð;Ð;Ñ<Ô<ˆØÔÐ' 4Ð'Ð 4Ð'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'Ð 4Ð'Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'ˆtÑ'Ô'Ð'Õ'Ô'ˆtÑ'Ô'Ð'Ð'Õ'Ô'ÐÑ'Ô'Õ'Ô' 4Ñ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'r+   c                ó¤  — t          dg¦  «        }|j        }d}||u }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}}d	S )
z$--list-scenarios flag is recognized.z--list-scenariosTr=   )z6%(py2)s
{%(py2)s = %(py0)s.list_scenarios
} is %(py5)sr   r   r   r   N)
r   Úlist_scenariosr   r   r   r   r   r   r   r    r"   s          r)   Útest_list_scenarios_argumentz*TestParseArgs.test_list_scenarios_argumentJ   sú   € åÐ-Ð.Ñ/Ô/ˆØÔ"Ð* dÐ*Ð" dÐ*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*Ð" dÐ*Ñ*Ô*Ð*Õ*Ô*Ñ*Ô*Ð*Ð*Õ*Ô*ˆtÑ*Ô*Ð*Õ*Ô*ˆtÑ*Ô*Ð*Ð*Õ*Ô*Ð"Ñ*Ô*Õ*Ô* dÑ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*r+   c                óª  — t          g d¢¦  «        }|j        }d}||k    }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}}d	S )
z5--agents is not required when --scenario is provided.rY   rZ   r   r[   r   r   r   r   N)
r   r\   r   r   r   r   r   r   r   r    r"   s          r)   Ú&test_agents_not_required_with_scenarioz4TestParseArgs.test_agents_not_required_with_scenarioO   sý   € åÐJÐJÐJÑKÔKˆØŒ}Ð0Ð 0Ð0ˆ}Ð 0Ò0Ð0Ð0Ð0Õ0Ô0Ð0Ð0Ð0Ð0ˆ}Ð 0Ð0Ñ0Ô0Ð0Õ0Ô0Ñ0Ô0Ð0Ð0Õ0Ô0ˆtÑ0Ô0Ð0Õ0Ô0ˆtÑ0Ô0Ð0Ð0Õ0Ô0ˆ}Ñ0Ô0Õ0Ô0Ð 0Ñ0Ô0Ð0Ð0Ñ0Ð0Ð0Ð0Ð0Ð0Ñ0Ð0Õ0Õ0Ô0Ð0Ñ0Ô0Ñ0Ô0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ð0r+   c                ó¦  — t          g d¢¦  «        }|j        }d}||u }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}}d	S )
z8--agents is not required when --auto-select is provided.r_   Tr=   r`   r   r   r   r   Nra   r"   s          r)   Ú)test_agents_not_required_with_auto_selectz7TestParseArgs.test_agents_not_required_with_auto_selectT   rd   r+   c                ó¦  — t          g d¢¦  «        }|j        }d}||u }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}}d	S )
z!--interactive flag is recognized.)r   r;   r   r<   z--interactiveTr=   ©z3%(py2)s
{%(py2)s = %(py0)s.interactive
} is %(py5)sr   r   r   r   N©
r   Úinteractiver   r   r   r   r   r   r   r    r"   s          r)   Útest_interactive_argumentz'TestParseArgs.test_interactive_argumentY   sý   € åÐLÐLÐLÑMÔMˆØÔÐ' 4Ð'Ð 4Ð'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'Ð 4Ð'Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'ˆtÑ'Ô'Ð'Õ'Ô'ˆtÑ'Ô'Ð'Ð'Õ'Ô'ÐÑ'Ô'Õ'Ô' 4Ñ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'r+   c                ó¦  — t          g d¢¦  «        }|j        }d}||u }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}}d	S )
z --interactive defaults to False.r:   Fr=   rm   r   r   r   r   Nrn   r"   s          r)   Útest_interactive_defaults_falsez-TestParseArgs.test_interactive_defaults_false^   sý   € åÐ;Ð;Ð;Ñ<Ô<ˆØÔÐ( 5Ð(Ð 5Ð(Ð(Ð(Ð(Õ(Ô(Ð(Ð(Ð(Ð(Ð 5Ð(Ñ(Ô(Ð(Õ(Ô(Ñ(Ô(Ð(Ð(Õ(Ô(ˆtÑ(Ô(Ð(Õ(Ô(ˆtÑ(Ô(Ð(Ð(Õ(Ô(ÐÑ(Ô(Õ(Ô( 5Ñ(Ô(Ð(Ð(Ñ(Ð(Ð(Ð(Ð(Ð(Ñ(Ð(Õ(Õ(Ô(Ð(Ñ(Ô(Ñ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ð(Ð(r+   c                óª  — t          g d¢¦  «        }|j        }d}||k    }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}}d	S )
z'--context-budget sets the token budget.)r   r;   r   r<   z--context-budgetÚ4000i   r   ©z6%(py2)s
{%(py2)s = %(py0)s.context_budget
} == %(py5)sr   r   r   r   N©
r   Úcontext_budgetr   r   r   r   r   r   r   r    r"   s          r)   Útest_context_budget_argumentz*TestParseArgs.test_context_budget_argumentc   sý   € åÐWÐWÐWÑXÔXˆØÔ"Ð* dÐ*Ð" dÒ*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*Ð" dÐ*Ñ*Ô*Ð*Õ*Ô*Ñ*Ô*Ð*Ð*Õ*Ô*ˆtÑ*Ô*Ð*Õ*Ô*ˆtÑ*Ô*Ð*Ð*Õ*Ô*Ð"Ñ*Ô*Õ*Ô* dÑ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*r+   c                óª  — t          g d¢¦  «        }|j        }d}||k    }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}}d	S )
z"--context-budget defaults to 6000.r:   ip  r   ru   r   r   r   r   Nrv   r"   s          r)   Útest_context_budget_defaultz)TestParseArgs.test_context_budget_defaulth   sý   € åÐ;Ð;Ð;Ñ<Ô<ˆØÔ"Ð* dÐ*Ð" dÒ*Ð*Ð*Ð*Õ*Ô*Ð*Ð*Ð*Ð*Ð" dÐ*Ñ*Ô*Ð*Õ*Ô*Ñ*Ô*Ð*Ð*Õ*Ô*ˆtÑ*Ô*Ð*Õ*Ô*ˆtÑ*Ô*Ð*Ð*Õ*Ô*Ð"Ñ*Ô*Õ*Ô* dÑ*Ô*Ð*Ð*Ñ*Ð*Ð*Ð*Ð*Ð*Ñ*Ð*Õ*Õ*Ô*Ð*Ñ*Ô*Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*r+   c                ó¦  — t          g d¢¦  «        }|j        }d}||u }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}}d	S )
z'--no-compact flag disables compression.)r   r;   r   r<   z--no-compactTr=   ©z2%(py2)s
{%(py2)s = %(py0)s.no_compact
} is %(py5)sr   r   r   r   N©
r   Ú
no_compactr   r   r   r   r   r   r   r    r"   s          r)   Útest_no_compact_flagz"TestParseArgs.test_no_compact_flagm   sù   € åÐKÐKÐKÑLÔLˆØŒÐ& $Ð&ˆ $Ð&Ð&Ð&Ð&Õ&Ô&Ð&Ð&Ð&Ð&ˆ $Ð&Ñ&Ô&Ð&Õ&Ô&Ñ&Ô&Ð&Ð&Õ&Ô&ˆtÑ&Ô&Ð&Õ&Ô&ˆtÑ&Ô&Ð&Ð&Õ&Ô&ˆÑ&Ô&Õ&Ô& $Ñ&Ô&Ð&Ð&Ñ&Ð&Ð&Ð&Ð&Ð&Ñ&Ð&Õ&Õ&Ô&Ð&Ñ&Ô&Ñ&Ô&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ð&Ð&r+   c                ó¦  — t          g d¢¦  «        }|j        }d}||u }|sªt          j        d|fd||f¦  «        dt	          j        ¦   «         v st          j        |¦  «        rt          j        |¦  «        ndt          j        |¦  «        t          j        |¦  «        dœz  }dd|iz  }t          t          j	        |¦  «        ¦  «        ‚d	x}x}}d	S )
z--no-compact defaults to False.r:   Fr=   r|   r   r   r   r   Nr}   r"   s          r)   Útest_no_compact_defaults_falsez,TestParseArgs.test_no_compact_defaults_falser   sù   € åÐ;Ð;Ð;Ñ<Ô<ˆØŒÐ' %Ð'ˆ %Ð'Ð'Ð'Ð'Õ'Ô'Ð'Ð'Ð'Ð'ˆ %Ð'Ñ'Ô'Ð'Õ'Ô'Ñ'Ô'Ð'Ð'Õ'Ô'ˆtÑ'Ô'Ð'Õ'Ô'ˆtÑ'Ô'Ð'Ð'Õ'Ô'ˆÑ'Ô'Õ'Ô' %Ñ'Ô'Ð'Ð'Ñ'Ð'Ð'Ð'Ð'Ð'Ñ'Ð'Õ'Õ'Ô'Ð'Ñ'Ô'Ñ'Ô'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'r+   N)r   r	   )rI   r   r   r	   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r*   r8   rA   rC   rH   rT   rW   r]   rc   rg   ri   rk   rp   rr   rx   rz   r   r   © r+   r)   r   r   
   s‚  € € € € € Ø)Ð)ð,ð ,ð ,ð ,ð

4ð 
4ð 
4ð 
4ð,ð ,ð ,ð ,ð'ð 'ð 'ð 'ð
1ð 1ð 1ð 1ð
	2ð 	2ð 	2ð 	2ð)ð )ð )ð )ð#ð #ð #ð #ð(ð (ð (ð (ð
+ð +ð +ð +ð
1ð 1ð 1ð 1ð
(ð (ð (ð (ð
(ð (ð (ð (ð
)ð )ð )ð )ð
+ð +ð +ð +ð
+ð +ð +ð +ð
'ð 'ð 'ð 'ð
(ð (ð (ð (ð (ð (r+   r   )r…   Ú
__future__r   Úbuiltinsr   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter   Úpathlibr   Úrun_meetingr   r   r†   r+   r)   ú<module>rŽ      s˜   ðØ 1Ð 1à "Ð "Ð "Ð "Ð "Ð "à  € € € € € € € € € € € € Ð Ð Ð Ð Ð Ð à "Ð "Ð "Ð "Ð "Ð "ðk(ð k(ð k(ð k(ð k(ñ k(ô k(ð k(ð k(ð k(r+   