
    Vh                         d Z ddlmZmZ ddlmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZmZ  G d	 d
e	j                        Zy)z+
Test cases for L{twisted.logger._buffer}.
    )Listcast)BrokenMethodImplementation)verifyObject)unittest   )LimitedHistoryLogObserver)ILogObserverLogEventc                   (    e Zd ZdZddZddZddZy)LimitedHistoryLogObserverTestsz1
    Tests for L{LimitedHistoryLogObserver}.
    Nc                     t        d      }	 t        t        |       y# t        $ r}| j	                  |       Y d}~yd}~ww xY w)zH
        L{LimitedHistoryLogObserver} provides L{ILogObserver}.
        r   N)r	   r   r
   r   fail)selfobserveres      O/home/dcms/DCMS/lib/python3.12/site-packages/twisted/logger/test/test_buffer.pytest_interfacez-LimitedHistoryLogObserverTests.test_interface   s:     -Q/	x0) 	IIaLL	s    	A=Ac                 
   d}t        |dz        D cg c]  }t        |       }}t        |      }|D ]
  } ||        g }|j                  t	        t
        |j                               | j                  ||       yc c}w )zY
        L{LimitedHistoryLogObserver} saves history in the order it is received.
           r   nNrangedictr	   replayTor   r
   appendassertEqualr   sizer   eventsr   event	outEventss          r   
test_orderz)LimitedHistoryLogObserverTests.test_order!   s     %*419%56$)66,T2 	EUO	 %'	$|Y-=-=>?+ 7s   B c                    d}t        |dz        D cg c]  }t        |       }}t        |      }|D ]
  } ||        g }|j                  t	        t
        |j                               | j                  || d |       yc c}w )z
        When more events than a L{LimitedHistoryLogObserver}'s maximum size are
        buffered, older events will be dropped.
        r   r   r   Nr   r   s          r   
test_limitz)LimitedHistoryLogObserverTests.test_limit0   s    
 %*4!8_5$)55,T2 	EUO	 %'	$|Y-=-=>?3 6s   B)returnN)__name__
__module____qualname____doc__r   r$   r&        r   r   r      s    ,4r-   r   N)r+   typingr   r   zope.interface.exceptionsr   zope.interface.verifyr   twisted.trialr   _bufferr	   _interfacesr
   r   TestCaser   r,   r-   r   <module>r5      s0     @ . " / 0,4X%6%6 ,4r-   