
    Dh                     @   d dl m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y)    )Path)PriorityQueue)FifoDiskQueueFifoMemoryQueueFifoSQLiteQueueLifoDiskQueueLifoMemoryQueueLifoSQLiteQueue)QueuelibTestCasetrack_closedc                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)PQueueTestMixinc                 b    t        j                  |        t        | j                        | _        y N)r   setUpr   qfactoryqselfs    |/var/www/fastuser/data/www/generator.snapmosaic.io/flask_app/venv/lib/python3.12/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 | j                  t        | j                         d       | j                   j                  dd       | j                   sJ | j                   j                  dd       | j                   j                  dd       | j                   j                  dd       | j                  t        | j                         d	       | j                   j	                          | j                   j	                          | j                   j	                          | j                   j	                          | j                   rJ | j                  t        | j                         d       y )
Nr      a      b      c      d   )r   assertEquallenpushpopr   s    r   test_len_nonzeroz PQueueTestMixin.test_len_nonzero   s    66zTVVa(D!vvvD!D!D!TVVa(







66zTVVa(r   c                    | j                   j                  dd       | j                   j                  dd       | j                   j                  dd       | j                   j                  dd       | j                   j                  j                         }| j	                  t        | j                   j                               g d       t        d	 |D              sJ y )
Nr   r   r   r    r!   r"   r#   )r    r"   r   c              3   4   K   | ]  }|j                     y wr   )closed).0r   s     r   	<genexpr>z-PQueueTestMixin.test_close.<locals>.<genexpr>.   s     -188-s   )r   r'   queuesvaluesr%   sortedcloseall)r   iqueuess     r   
test_closezPQueueTestMixin.test_close'   s    D!D!D!D!&&--&&(/;-W----r   c                 J   | j                   j                  dd       | j                   j                  dd       | j                   j                  dd       | j                   j                          | j                  t	        | j                   j                               ddg       y )Nr   r    r!   r"   r   r   )r   r'   r(   r%   r1   r2   r   s    r   test_close_return_activez(PQueueTestMixin.test_close_return_active0   sh    D!D!D!

/!Q8r   c                    | j                   j                  dd       | j                   j                  dd       | j                   j                  dd       | j                   j                  d   }| j                  | j                   j	                         d       | j                   j                          |j                  sJ y )Nr   r   r   r    r!   r"   )r   r'   r/   r%   r(   r2   r,   )r   p1queues     r   "test_popped_internal_queues_closedz2PQueueTestMixin.test_popped_internal_queues_closed7   s}    D!D!D!&&--"t,~~~r   N)	__name__
__module____qualname__r   r   r)   r5   r7   r:    r   r   r   r      s     .") .9r   r   c                       e Zd Zd Zd Zy)FifoTestMixinc                    | j                  | j                  j                         d        | j                  j                  d       | j                  j                  d       | j                  j                  d       | j                  | j                  j                         d       | j                  | j                  j	                         d       | j                  | j                  j                         d       | j                  | j                  j	                         d       | j                  | j                  j                         d       | j                  | j                  j	                         d       | j                  | j                  j                         d        | j                  | j                  j	                         d        y Nr   r   r!   r%   r   peekr'   r(   r   s    r   test_push_pop_peek_noprioz'FifoTestMixin.test_push_pop_peek_noprioB      -DDD-t,-t,-t,-t,r   c                    | j                  | j                  j                         d        | j                  j                  dd       | j                  j                  dd       | j                  j                  dd       | j                  j                  dd       | j                  | j                  j                         d       | j                  | j                  j	                         d       | j                  | j                  j                         d       | j                  | j                  j	                         d       | j                  | j                  j                         d       | j                  | j                  j	                         d       | j                  | j                  j                         d       | j                  | j                  j	                         d       | j                  | j                  j                         d        | j                  | j                  j	                         d        y Nr   r   r   r    r!   r"   r#   rC   r   s    r   test_push_pop_peek_prioz%FifoTestMixin.test_push_pop_peek_prioP   h   -D!D!D!D!-t,-t,-t,-t,-t,r   Nr;   r<   r=   rE   rI   r>   r   r   r@   r@   A       --r   r@   c                       e Zd Zd Zd Zy)LifoTestMixinc                    | j                  | j                  j                         d        | j                  j                  d       | j                  j                  d       | j                  j                  d       | j                  | j                  j                         d       | j                  | j                  j	                         d       | j                  | j                  j                         d       | j                  | j                  j	                         d       | j                  | j                  j                         d       | j                  | j                  j	                         d       | j                  | j                  j                         d        | j                  | j                  j	                         d        y rB   rC   r   s    r   rE   z'LifoTestMixin.test_push_pop_peek_noprioc   rF   r   c                    | j                  | j                  j                         d        | j                  j                  dd       | j                  j                  dd       | j                  j                  dd       | j                  j                  dd       | j                  | j                  j                         d       | j                  | j                  j	                         d       | j                  | j                  j                         d       | j                  | j                  j	                         d       | j                  | j                  j                         d       | j                  | j                  j	                         d       | j                  | j                  j                         d       | j                  | j                  j	                         d       | j                  | j                  j                         d        | j                  | j                  j	                         d        y rH   rC   r   s    r   rI   z%LifoTestMixin.test_push_pop_peek_prioq   rJ   r   NrK   r>   r   r   rN   rN   b   rL   r   rN   c                       e Zd Zd Zy)FifoMemoryPriorityQueueTestc                 *     t        t                     S r   )r   r   r   s     r   r   z$FifoMemoryPriorityQueueTest.qfactory       ,|O,..r   Nr;   r<   r=   r   r>   r   r   rR   rR          /r   rR   c                       e Zd Zd Zy)LifoMemoryPriorityQueueTestc                 *     t        t                     S r   )r   r	   r   s     r   r   z$LifoMemoryPriorityQueueTest.qfactory   rT   r   NrU   r>   r   r   rX   rX      rV   r   rX   c                   $    e Zd Zd Zd Zd Zd Zy)DiskTestMixinc                     | j                  t        | j                  j                  d d       | j	                  | j                  j                         g        y )Nc                     | S r   r>   xs    r   <lambda>z?DiskTestMixin.test_nonserializable_object_one.<locals>.<lambda>       A r   r   )assertRaises	TypeErrorr   r'   r%   r2   r   s    r   test_nonserializable_object_onez-DiskTestMixin.test_nonserializable_object_one   s8    )TVV[[+qA,r   c                    | j                   j                  dd       | j                   j                  dd       | j                  t        | j                   j                  d d       | j                   j                  dd       | j	                  | j                   j                         d       | j	                  t        | j                   j                               ddg       y )	Nr   r   r   r    c                     | S r   r>   r^   s    r   r`   zFDiskTestMixin.test_nonserializable_object_many_close.<locals>.<lambda>   ra   r   r   r!   r"   )r   r'   rb   rc   r%   r(   r1   r2   r   s    r   &test_nonserializable_object_many_closez4DiskTestMixin.test_nonserializable_object_many_close   s    D!D!)TVV[[+qAD!t,/!Q8r   c                    | j                   j                  dd       | j                   j                  dd       | j                  t        | j                   j                  d d       | j                   j                  dd       | j	                  | j                   j                         d       | j	                  | j                   j                         d       | j	                  | j                   j                         d       | j	                  | j                   j                         d        | j	                  | j                   j                         g        y )	Nr   r   r   r    c                     | S r   r>   r^   s    r   r`   zDDiskTestMixin.test_nonserializable_object_many_pop.<locals>.<lambda>   ra   r   r   r!   r"   )r   r'   rb   rc   r%   r(   r2   r   s    r   $test_nonserializable_object_many_popz2DiskTestMixin.test_nonserializable_object_many_pop   s    D!D!)TVV[[+qAD!t,t,t,t,,r   c                    t        | j                        }|j                  dd       |j                  dd       |j                  dd       |j                         }t        | j                  |      }| j	                  |j                         d       | j	                  |j                         d       | j	                  |j                         d       | j	                  |j                         g        y )Nr   r   r   r    r!   r"   )
startprios)r   r   r'   r2   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=   rd   rg   rj   rp   r>   r   r   r[   r[      s    -9	-
)r   r[   c                       e Zd Zd Zy)FifoDiskPriorityQueueTestc                 j    t        | j                  t        |            } t        t              |      S r   )r   qdirstrr   r   r   r   paths      r   r   z"FifoDiskPriorityQueueTest.qfactory   (    DIIs4y)*|M*400r   NrU   r>   r   r   rr   rr          1r   rr   c                       e Zd Zd Zy)LifoDiskPriorityQueueTestc                 j    t        | j                  t        |            } t        t              |      S r   )r   rt   ru   r   r   rv   s      r   r   z"LifoDiskPriorityQueueTest.qfactory   rx   r   NrU   r>   r   r   r{   r{      ry   r   r{   c                       e Zd Zd Zy)FifoSQLitePriorityQueueTestc                 j    t        | j                  t        |            } t        t              |      S r   )r   rt   ru   r   r   rv   s      r   r   z$FifoSQLitePriorityQueueTest.qfactory   (    DIIs4y),|O,T22r   NrU   r>   r   r   r~   r~          3r   r~   c                       e Zd Zd Zy)LifoSQLitePriorityQueueTestc                 j    t        | j                  t        |            } t        t              |      S r   )r   rt   ru   r   r
   rv   s      r   r   z$LifoSQLitePriorityQueueTest.qfactory   r   r   NrU   r>   r   r   r   r      r   r   r   N)pathlibr   queuelib.pqueuer   queuelib.queuer   r   r   r   r	   r
   queuelib.testsr   r   r   r@   rN   rR   rX   r[   rr   r{   r~   r   r>   r   r   <module>r      s     )  :/ /d- -B- -B//=BR /
//=BR /
") ")J1]M3C11]M3C13]M3C33]M3C3r   