
    Vh                     H    d dl mZ ddlmZ  G d de      Z G d de      Zy)	    )TestCase   )MethodicalMachinec                      e Zd Z e       Zej                  d      d        Zej                         d        Zej                         d        Zej                         d        Z
ej                         d        Zej                         d        Zej                         d	        Zej                  Zej#                  e
eeg       ej#                  eeeg       ej#                  eeg        ej#                  eeg        y
)SampleObjectT)initialc                      y)zinitial stateN selfs    H/home/dcms/DCMS/lib/python3.12/site-packages/automat/_test/test_trace.pybeginzSampleObject.begin           c                      y)zmiddle stateNr
   r   s    r   middlezSampleObject.middle   r   r   c                      y)z	end stateNr
   r   s    r   endzSampleObject.end   r   r   c                      yzsample inputNr
   r   s    r   go1zSampleObject.go1   r   r   c                      yr   r
   r   s    r   go2zSampleObject.go2   r   r   c                      yr   r
   r   s    r   backzSampleObject.back   r   r   c                      y)zsample outputNr
   r   s    r   outzSampleObject.out    r   r   N)__name__
__module____qualname__r   mmstater   r   r   inputr   r   r   outputr   	_setTracesetTraceuponr
   r   r   r   r      s   		BXXdX  XXZ  XXZ  XXZ  XXZ  XXZ  YY[  ||H	JJsFSE"
KKS3% HHT62
KKeR r   r   c                       e Zd Zd Zd Zy)
TraceTestsc                    g fd}t               }|j                  |       |j                          | j                  dg       |j	                          | j                  ddg       |j                  d        |j                          | j                  ddg       |j	                          | j                  ddg       y )Nc                 .    j                  | ||f       y Nappend)	old_stater#   	new_statetracess      r   tracerz+TraceTests.test_only_inputs.<locals>.tracer0   s    MM9eY78r   )r   r   r   )r   r   r   r   r&   r   assertEqualr   r   r   r2   sr1   s      @r   test_only_inputszTraceTests.test_only_inputs-   s    	 N	

6	*	
 	
*(	
 	


4	*(	
 	
*(	
r   c                    g fd}t               }|j                  |       |j                          | j                  ddg       |j	                          | j                  g d       |j                  d        |j                          | j                  g d       |j	                          | j                  g d       y )Nc                 H     j                   d f        fd}|S )Nc                 0    j                  | f       y r,   r-   )r$   r#   r0   r/   r1   s    r   trace_outputszITraceTests.test_inputs_and_outputs.<locals>.tracer.<locals>.trace_outputs_   s    y%FCDr   r-   )r/   r#   r0   r;   r1   s   ``` r   r2   z2TraceTests.test_inputs_and_outputs.<locals>.tracer\   s&    MM9eY=>E ! r   r   r   r   Nr   r   r   r   )r<   r=   )r   r   r   N)r   r   r   r   r3   r5   s      @r   test_inputs_and_outputsz"TraceTests.test_inputs_and_outputsY   s    	! N	

6	01	
 	
	
 	


4		
 	
	
r   N)r   r   r    r7   r>   r
   r   r   r)   r)   ,   s    *
X5
r   r)   N)unittestr   _methodicalr   objectr   r)   r
   r   r   <module>rB      s&     +$!6 $!Nb
 b
r   