
    g                         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 ddl mZ ddl m	Z	  G d	 d
ej                        ZdZy)   )fixtures)eq_)Column)Table   )Integer)String)testingc                      e Zd ZdZdZdZed        Zed        Zd Z	d Z
 ej                  dg d	      ej                  j                  d
               Z ej                  dg d	      ej                  j                   d               Zy)SimpleUpdateDeleteTesteach)sane_rowcountTc                 f    t        d|t        dt        d      t        dt        d                   y )Nplain_pkidT)primary_keydata2   )r   r   r   r	   )clsmetadatas     j/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/sqlalchemy/testing/suite/test_update_delete.pydefine_tablesz$SimpleUpdateDeleteTest.define_tables   s*    4d366":&		
    c                     |j                  | j                  j                  j                         dddddddddg       y )N   d1)r   r   r   d2r   d3)executetablesr   insert)r   
connections     r   insert_dataz"SimpleUpdateDeleteTest.insert_data    sC    JJ&&($'$'$'	
r   c                    | j                   j                  }|j                  |j                         j	                  |j
                  j                  dk(        t        d            }|j                  rJ |j                  rJ |j                  dk(  sJ t        |j                  |j                         j                  |j
                  j                              j                         g d       y )Nr   d2_newr   r   r   r   r   r%   r   r   )r    r   r   updatewherecr   dict	is_insertreturns_rowsrowcountr   selectorder_byfetchallselfr"   trs       r   test_updatez"SimpleUpdateDeleteTest.test_update+   s    KK  HHJQSSVVq[)4X+>
 ;;>>!!zzQqxxz2213366:;DDF1	
r   c                    | j                   j                  }|j                  |j                         j	                  |j
                  j                  dk(              }|j                  rJ |j                  rJ |j                  dk(  sJ t        |j                  |j                         j                  |j
                  j                              j                         ddg       y )Nr   r   r(   r*   )r    r   r   deleter,   r-   r   r/   r0   r1   r   r2   r3   r4   r5   s       r   test_deletez"SimpleUpdateDeleteTest.test_delete9   s    KK  qxxz//!<=;;>>!!zzQqxxz2213366:;DDF	"	
r   criteria)rowsnorowsemptyinc                 D   | j                   j                  }|j                         j                  |j                  j
                  |j                  j                        }|j                  r)|j                  |j                  j
                  dk(        }n|j                  r)|j                  |j                  j
                  dk(        }nQ|j                  r5|j                  |j                  j
                  j                  g             }n|j                          |j                  |t        d            }|j                  rJ |j                   sJ t#        |j%                         ddg       |j                  rt#        |j'                         dg       nt#        |j'                         g        t#        |j                  |j)                         j+                  |j                  j
                              j-                         |j                  r	g d       y g d	       y )
N
   r   r%   r&   r   r   r)   r'   r(   r   r   r*   )r    r   r+   	returningr-   r   r   r?   r,   r>   r@   in_failr   r.   r/   r0   r   keysallr2   r3   r4   r6   r"   r=   r7   stmtr8   s         r   test_update_returningz,SimpleUpdateDeleteTest.test_update_returningD   si    KK  xxz##ACCFFACCHH5??::accffl+D]]::accffk*D::accffjjn-DMMOtTx%89;;~~~AFFHtVn%==-)qxxz2213366:;DDF == 6	

 7	
r   c                 .   | j                   j                  }|j                         j                  |j                  j
                  |j                  j                        }|j                  r)|j                  |j                  j
                  dk(        }n|j                  r)|j                  |j                  j
                  dk(        }nQ|j                  r5|j                  |j                  j
                  j                  g             }n|j                          |j                  |      }|j                  rJ |j                  sJ t!        |j#                         ddg       |j                  rt!        |j%                         dg       nt!        |j%                         g        t!        |j                  |j'                         j)                  |j                  j
                              j+                         |j                  r	ddg       y g d       y )	NrB   r   r   r   rD   r(   r*   rC   )r    r   r;   rE   r-   r   r   r?   r,   r>   r@   rF   rG   r   r/   r0   r   rH   rI   r2   r3   r4   rJ   s         r   test_delete_returningz,SimpleUpdateDeleteTest.test_delete_returningg   sg    KK  xxz##ACCFFACCHH5??::accffl+D]]::accffk*D::accffjjn-DMMOt$;;~~~AFFHtVn%==)%qxxz2213366:;DDF == I&	

 7	
r   N)__name__
__module____qualname__run_deletes__requires____backend__classmethodr   r#   r9   r<   r
   	variationrequiresupdate_returningrL   delete_returningrN    r   r   r   r      s    K%LK
 
 
 

	
 Wz#@A&&
 ' B
B Wz#@A&&
 ' B
r   r   )r   N) r   
assertionsr   schemar   r   r   r	   r
   
TablesTestr   __all__rZ   r   r   <module>r`      s8          v
X00 v
r &r   