
    3iG                         d dl Zd dlmc mZ d dlmZ d dlZd dl	m
Z
 d dlmZ deddfdZdeddfdZdeddfd	Zdeddfd
ZdeddfdZdS )    N)Path)load_meeting_input)MeetingInputtmp_pathreturnc                    | dz  }|                     d                                d           t          |          }|j        }d}||k    }|st	          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meeting.yamlzI
topic: test topic
brief: {}
decision_packet:
  decision_to_make: decide
utf-8encodingz
test topic==)z-%(py2)s
{%(py2)s = %(py0)s.topic
} == %(py5)smeeting_input)py0py2py5zassert %(py7)spy7)
write_textstripr   topic
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanation)r   pathr   @py_assert1@py_assert4@py_assert3@py_format6@py_format8s           @/root/projects/multi-agents-meeting/tests/test_meeting_loader.py!test_load_meeting_input_from_yamlr&   	   s0   n$DOO	
 
EGG     't,,M.,.,..........,............=.....=..........,.............................    c                    | dz  }|                     dd           t          |          }|j        }|j        }d}||k    }|st	          j        d|fd||f          dt          j                    v st	          j        |          rt	          j	        |          ndt	          j	        |          t	          j	        |          t	          j	        |          d	z  }d
d|iz  }t          t	          j        |                    d x}x}x}}d S )Nzmeeting.jsonzW{"topic": "test topic", "brief": {}, "decision_packet": {"decision_to_make": "decide"}}r
   r   decider   )z]%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.decision_packet
}.decision_to_make
} == %(py7)sr   )r   r   py4r   zassert %(py9)spy9)r   r   decision_packetdecision_to_maker   r   r   r   r   r   r   r   )	r   r   r   r    r"   @py_assert6@py_assert5r$   @py_format10s	            r%   !test_load_meeting_input_from_jsonr1      sA   n$DOOa    
 't,,M(E(9EXE9XEEEEEEEEEE9XEEEEEEEEEEEE=EEEEE=EEEEEE(EEEE9EEEEXEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEr'   c                     | dz  }|                     d                                d           t          j        t                    5  t          |           d d d            d S # 1 swxY w Y   d S )Nr	   z7
brief: {}
decision_packet:
  decision_to_make: decide
r
   r   r   r   pytestraises
ValueErrorr   r   r   s     r%   -test_load_meeting_input_rejects_missing_topicr8   &   s    n$DOO	 
EGG     
z	"	" ! !4   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !   A%%A),A)c                     | dz  }|                     d                                d           t          j        t                    5  t          |           d d d            d S # 1 swxY w Y   d S )Nr	   zE
topic: test topic
brief: {}
decision_packet:
  decision_to_make: ""
r
   r   r3   r7   s     r%   7test_load_meeting_input_rejects_invalid_decision_packetr;   5   s    n$DOO	
 
EGG     
z	"	" ! !4   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !r9   c                    | dz  }|                     d                                d           t          |          }t          |t                    }|sd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dt          j                    v st          j        t                    rt          j	        t                    ndt          j	        |          d	z  }t          t          j        |                    d }d S )
Nr	   zJ
topic: typed topic
brief: {}
decision_packet:
  decision_to_make: decide
r
   r   z5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}
isinstancer   r   )r   py1r   r*   )r   r   r   r=   r   r   r   r   r   r   r   r   )r   r   r   r"   @py_format5s        r%   +test_load_meeting_input_returns_typed_modelr@   E   sR   n$DOO	
 
EGG     't,,Mm\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2m22222m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222222r'   )builtinsr   _pytest.assertion.rewrite	assertionrewriter   pathlibr   r4   core.meeting_loaderr   core.modelsr   r&   r1   r8   r;   r@    r'   r%   <module>rI      s                        2 2 2 2 2 2 $ $ $ $ $ $/ / / / / /"	F 	F 	F 	F 	F 	F!D !T ! ! ! !!d !t ! ! ! ! 3$ 34 3 3 3 3 3 3r'   