
    Tg%e                     z   d dl Z d dlmZ d dlmZmZmZmZmZm	Z	 d dl
mZmZ  G d d          Z G d d          Z G d	 d
          Z G d deee          Z G d deee          Z G d d          Z G d deeee          Z G d deeee          Z G d deeee          Z G d deeee          ZdS )    N)PriorityQueue)FifoMemoryQueueLifoMemoryQueueFifoDiskQueueLifoDiskQueueFifoSQLiteQueueLifoSQLiteQueue)QueuelibTestCasetrack_closedc                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )PQueueTestMixinc                 `    t          j        |            t          | j                  | _        d S N)r
   setUpr   qfactoryqselfs    :lib/python3.11/site-packages/queuelib/tests/test_pqueue.pyr   zPQueueTestMixin.setUp   s(    t$$$t}--    c                     t           r   )NotImplementedErrorr   prios     r   r   zPQueueTestMixin.qfactory   s    !!r   c                    | j         rJ |                     t          | j                   d           | j                             dd           | j         sJ | j                             dd           | j                             dd           | j                             dd           |                     t          | j                   d	           | j                                          | j                                          | j                                          | j                                          | j         rJ |                     t          | j                   d           d S )
Nr      a      b      c      d   )r   assertEquallenpushpopr   s    r   test_len_nonzeroz PQueueTestMixin.test_len_nonzero   s   6TVa(((D!vD!D!D!TVa(((







6TVa(((((r   c                    | j                             dd           | j                             dd           | j                             dd           | j                             dd           | j         j                                        }|                     t          | j                                                   g d           t          d	 |D                       sJ d S )
Nr   r   r   r   r    r!   r"   )r   r!   r   c              3   $   K   | ]}|j         V  d S r   )closed).0r   s     r   	<genexpr>z-PQueueTestMixin.test_close.<locals>.<genexpr>-   s$      --18------r   )r   r&   queuesvaluesr$   sortedcloseall)r   iqueuess     r   
test_closezPQueueTestMixin.test_close&   s    D!D!D!D!&-&&((//;;;--W----------r   c                 R   | j                             dd           | j                             dd           | j                             dd           | j                                          |                     t	          | j                                                   ddg           d S )Nr   r   r    r!   r   r   )r   r&   r'   r$   r0   r1   r   s    r   test_close_return_activez(PQueueTestMixin.test_close_return_active/   s    D!D!D!

//!Q88888r   c                 j   | j                             dd           | j                             dd           | j                             dd           | j         j        d         }|                     | j                                         d           | j                                          |j        sJ d S )Nr   r   r   r   r    r!   )r   r&   r.   r$   r'   r1   r+   )r   p1queues     r   "test_popped_internal_queues_closedz2PQueueTestMixin.test_popped_internal_queues_closed6   s    D!D!D!&-"t,,,~r   N)	__name__
__module____qualname__r   r   r(   r4   r6   r9    r   r   r   r      sn        . . ." " ") ) ) . . .9 9 9    r   r   c                       e Zd Zd Zd ZdS )FifoTestMixinc                    |                      | j                                        d            | j                            d           | j                            d           | j                            d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d            |                      | j                                        d            d S Nr   r   r    r$   r   peekr&   r'   r   s    r   test_push_pop_peek_noprioz'FifoTestMixin.test_push_pop_peek_noprioA   d   ---DDD---t,,,---t,,,---t,,,---t,,,,,r   c                    |                      | j                                        d            | j                            dd           | j                            dd           | j                            dd           | j                            dd           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d            |                      | j                                        d            d S Nr   r   r   r   r    r!   r"   rB   r   s    r   test_push_pop_peek_prioz%FifoTestMixin.test_push_pop_peek_prioO      ---D!D!D!D!---t,,,---t,,,---t,,,---t,,,---t,,,,,r   Nr:   r;   r<   rD   rH   r=   r   r   r?   r?   @   2        - - -- - - - -r   r?   c                       e Zd Zd Zd ZdS )LifoTestMixinc                    |                      | j                                        d            | j                            d           | j                            d           | j                            d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d            |                      | j                                        d            d S rA   rB   r   s    r   rD   z'LifoTestMixin.test_push_pop_peek_nopriob   rE   r   c                    |                      | j                                        d            | j                            dd           | j                            dd           | j                            dd           | j                            dd           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d           |                      | j                                        d            |                      | j                                        d            d S rG   rB   r   s    r   rH   z%LifoTestMixin.test_push_pop_peek_priop   rI   r   NrJ   r=   r   r   rM   rM   a   rK   r   rM   c                       e Zd Zd ZdS )FifoMemoryPriorityQueueTestc                 :     t          t                                S r   )r   r   r   s     r   r   z$FifoMemoryPriorityQueueTest.qfactory       ,|O,,...r   Nr:   r;   r<   r   r=   r   r   rQ   rQ      #        / / / / /r   rQ   c                       e Zd Zd ZdS )LifoMemoryPriorityQueueTestc                 :     t          t                                S r   )r   r   r   s     r   r   z$LifoMemoryPriorityQueueTest.qfactory   rS   r   NrT   r=   r   r   rW   rW      rU   r   rW   c                   &    e Zd Zd Zd Zd Zd ZdS )DiskTestMixinc                     |                      t          | j        j        d d           |                     | j                                        g            d S )Nc                     | S r   r=   xs    r   <lambda>z?DiskTestMixin.test_nonserializable_object_one.<locals>.<lambda>       A r   r   )assertRaises	TypeErrorr   r&   r$   r1   r   s    r   test_nonserializable_object_onez-DiskTestMixin.test_nonserializable_object_one   sH    )TV[++qAAA,,,,,r   c                    | j                             dd           | j                             dd           |                     t          | j         j        d d           | j                             dd           |                     | j                                         d           |                     t          | j                                                   ddg           d S )	Nr   r   r   r   c                     | S r   r=   r]   s    r   r_   zFDiskTestMixin.test_nonserializable_object_many_close.<locals>.<lambda>   r`   r   r   r    r!   )r   r&   ra   rb   r$   r'   r0   r1   r   s    r   &test_nonserializable_object_many_closez4DiskTestMixin.test_nonserializable_object_many_close   s    D!D!)TV[++qAAAD!t,,,//!Q88888r   c                    | j                             dd           | j                             dd           |                     t          | j         j        d d           | j                             dd           |                     | j                                         d           |                     | j                                         d           |                     | j                                         d           |                     | j                                         d            |                     | j                                         g            d S )	Nr   r   r   r   c                     | S r   r=   r]   s    r   r_   zDDiskTestMixin.test_nonserializable_object_many_pop.<locals>.<lambda>   r`   r   r   r    r!   )r   r&   ra   rb   r$   r'   r1   r   s    r   $test_nonserializable_object_many_popz2DiskTestMixin.test_nonserializable_object_many_pop   s
   D!D!)TV[++qAAAD!t,,,t,,,t,,,t,,,,,,,,r   c                 F   t          | j                  }|                    dd           |                    dd           |                    dd           |                                }t          | j        |          }|                     |                                d           |                     |                                d           |                     |                                d           |                     |                                g            d S )Nr   r   r   r   r    r!   )
startprios)r   r   r&   r1   r$   r'   )r   q1activeq2s       r   test_reopen_with_prioz#DiskTestMixin.test_reopen_with_prio   s    4=))
a
a
a4=V<<<4(((4(((4(((R(((((r   N)r:   r;   r<   rc   rf   ri   ro   r=   r   r   rZ   rZ      sP        - - -9 9 9	- 	- 	-
) 
) 
) 
) 
)r   rZ   c                       e Zd Zd ZdS )FifoDiskPriorityQueueTestc                     t           j                            | j        t	          |                    } t          t                    |          S r   )ospathjoinqdirstrr   r   r   r   rt   s      r   r   z"FifoDiskPriorityQueueTest.qfactory   7    w||DIs4yy11*|M**4000r   NrT   r=   r   r   rq   rq      #        1 1 1 1 1r   rq   c                       e Zd Zd ZdS )LifoDiskPriorityQueueTestc                     t           j                            | j        t	          |                    } t          t                    |          S r   )rs   rt   ru   rv   rw   r   r   rx   s      r   r   z"LifoDiskPriorityQueueTest.qfactory   ry   r   NrT   r=   r   r   r|   r|      rz   r   r|   c                       e Zd Zd ZdS )FifoSQLitePriorityQueueTestc                     t           j                            | j        t	          |                    } t          t                    |          S r   )rs   rt   ru   rv   rw   r   r   rx   s      r   r   z$FifoSQLitePriorityQueueTest.qfactory   7    w||DIs4yy11,|O,,T222r   NrT   r=   r   r   r   r      #        3 3 3 3 3r   r   c                       e Zd Zd ZdS )LifoSQLitePriorityQueueTestc                     t           j                            | j        t	          |                    } t          t                    |          S r   )rs   rt   ru   rv   rw   r   r	   rx   s      r   r   z$LifoSQLitePriorityQueueTest.qfactory   r   r   NrT   r=   r   r   r   r      r   r   r   )rs   queuelib.pqueuer   queuelib.queuer   r   r   r   r   r	   queuelib.testsr
   r   r   r?   rM   rQ   rW   rZ   rq   r|   r   r   r=   r   r   <module>r      sZ   				 ) ) ) ) ) )                : 9 9 9 9 9 9 9/ / / / / / / /d- - - - - - - -B- - - - - - - -B/ / / / //=BR / / /
/ / / / //=BR / / /
") ") ") ") ") ") ") ")J1 1 1 1 1O_ 1 1 11 1 1 1 1O_ 1 1 13 3 3 3 3/=-Qa 3 3 33 3 3 3 3/=-Qa 3 3 3 3 3r   