
    ؄_5                        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	 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 G d dej        ej                  Z G d dej                  ZdS )   )config)fixtures)eq_)requirements)Column)Table   )Integer)MetaDataschema)Sequence)String)testingc                   h    e Zd ZdZdZdZed             Zd Zd Z	d Z
ej        d             Zd	 Zd
S )SequenceTest	sequencesTeachc                 J   t          d|t          dt          t          d          d          t          dt	          d                               t          d|t          dt          t          dd	          d          t          dt	          d                               d S )
Nseq_pkid
tab_id_seqT)primary_keydata2   
seq_opt_pk)optional)r   r   r
   r   r   )clsmetadatas     k/var/www/book.euthymeo.com/html/venv/lib/python3.11/site-packages/sqlalchemy/testing/suite/test_sequence.pydefine_tableszSequenceTest.define_tables   s    4(<"8"8dKKK66"::&&		
 	
 	
 	555 	   66"::&&
	
 
	
 
	
 
	
 
	
    c                     t           j                            | j        j                                        d           |                     | j        j        t           j                   d S )N	some datar   )r   dbexecutetablesr   insert_assert_round_tripselfs    r!   test_insert_roundtripz"SequenceTest.test_insert_roundtrip*   sQ    	$+,3355KHHH 2FI>>>>>r#   c                     t           j                            | j        j                                        d          }t          |j        dg           d S Nr%   r&      )r   r'   r(   r)   r   r*   r   inserted_primary_keyr-   rs     r!   test_insert_lastrowidz"SequenceTest.test_insert_lastrowid.   sH    Idk07799LLA"QC(((((r#   c                     t           j                            | j        j        j        j        j                  }t          |d           d S )Nr1   )	r   r'   r(   r)   r   cr   defaultr   r3   s     r!   test_nextval_directz SequenceTest.test_nextval_direct2   s6    Idk025=>>Aq					r#   c                     t           j                            | j        j                                        d          }t          |j        dg           d S r0   )r   r'   r(   r)   r   r*   r   r2   r3   s     r!   test_optional_seqzSequenceTest.test_optional_seq6   sQ    IK"))+++  
 
 	A"QC(((((r#   c                     |                     |                                                                          }t          |d           d S )N)r1   r%   )r(   selectfirstr   )r-   tableconnrows       r!   r+   zSequenceTest._assert_round_trip=   s>    ll5<<>>**0022C!"""""r#   N)__name__
__module____qualname____requires____backend__run_create_tablesclassmethodr"   r.   r5   r9   r   sequences_optionalr;   r+    r#   r!   r   r      s        !LK
 
 [
(? ? ?) ) )   $) ) %$)# # # # #r#   r   c                       e Zd ZdZdZd ZdS )SequenceCompilerTestr   Tc                    t          dt                      t          dt          t	          d                    t          dt                              }|                                                    d          }t          j        j	        
                    d t          j        j	                                      t	          d                    }|                     |d|d	d
t          j        j	                   d S )Nxyy_seqq   )rQ   )	statementdialectzINSERT INTO x (y, q) VALUES (z, 5)T)literal_bindsrT   )r   r   r   r
   r   r*   valuesr   r'   rT   statement_compilervisit_sequenceassert_compile)r-   r?   stmtseq_nextvals       r!   !test_literal_binds_inline_compilez6SequenceCompilerTest.test_literal_binds_inline_compileF   s    JJ3'!2!2333  	
 
 ||~~$$q$))j(;;GJ$6 < 
 

.'**
+
+ 	 	D5@[[BJ&	 	 	
 	
 	
 	
 	
r#   N)rB   rC   rD   rE   rF   r\   rJ   r#   r!   rL   rL   B   s-        !LK
 
 
 
 
r#   rL   c                       e Zd ZdZdZd Zej        j        d             Z	d Z
ej        j        d             Zej        j        d             Zej        j        d             Zd	S )
HasSequenceTestr   Tc                    t          d          }t          j                            t	          j        |                     	 t          t          j        j                            t          j        d          d           t          j                            t	          j	        |                     d S # t          j                            t	          j	        |                     w xY w)Nuser_id_seqT)
r   r   r'   r(   r   CreateSequencer   rT   has_sequenceDropSequencer-   s1s     r!   test_has_sequencez!HasSequenceTest.test_has_sequence_   s    m$$
6044555	8
"//
MJJ  
 Jv226677777GJv22667777s   =B2 23C%c                     t          dt          j                  }t          j                            t          j        |                     	 t          t          j        j	        
                    t          j        dt          j                  d           t          j                            t          j        |                     d S # t          j                            t          j        |                     w xY w)Nr`   r   Tr   r   test_schemar   r'   r(   r   ra   r   rT   rb   rc   rd   s     r!   test_has_sequence_schemaz(HasSequenceTest.test_has_sequence_schemaj   s    mF,>???
6044555	8
"//Jf6H 0   	   Jv226677777GJv22667777s   A	C
 
3C=c                     t          t          j        j                            t          j        d          d           d S )Nr`   F)r   r   r'   rT   rb   r,   s    r!   test_has_sequence_negz%HasSequenceTest.test_has_sequence_negx   s/    GJ++GJFFNNNNNr#   c                     t          t          j        j                            t          j        dt
          j                  d           d S Nr`   r   F)r   r   r'   rT   rb   r   ri   r,   s    r!   test_has_sequence_schemas_negz-HasSequenceTest.test_has_sequence_schemas_neg{   sL    J++
M&2D ,   		
 	
 	
 	
 	
r#   c                    t          d          }t          j                            t	          j        |                     	 t          t          j        j                            t          j        dt          j
                  d           t          j                            t	          j        |                     d S # t          j                            t	          j        |                     w xY wrn   )r   r   r'   r(   r   ra   r   rT   rb   r   ri   rc   rd   s     r!   'test_has_sequence_default_not_in_remotez7HasSequenceTest.test_has_sequence_default_not_in_remote   s    m$$
6044555	8
"//Jf6H 0   	   Jv226677777GJv22667777s   A	B> >3C1c                    t          dt          j                  }t          j                            t          j        |                     	 t          t          j        j	        
                    t          j        d          d           t          j                            t          j        |                     d S # t          j                            t          j        |                     w xY wrn   rh   rd   s     r!   'test_has_sequence_remote_not_in_defaultz7HasSequenceTest.test_has_sequence_remote_not_in_default   s    mF,>???
6044555	8
"//
MJJ  
 Jv226677777GJv22667777s   =B> >3C1N)rB   rC   rD   rE   rF   rf   r   requiresschemasrj   rl   ro   rq   rs   rJ   r#   r!   r^   r^   [   s        !LK	8 	8 	8 8 8 8O O O 
 
 
 8 8 8 	8 	8 	8 	8 	8r#   r^   N) r   r   
assertionsr   r   r   r   r   r
   r   r   r   r   
TablesTestr   AssertsCompiledSQLTestBaserL   r^   rJ   r#   r!   <module>r{      s~                     ! ! ! ! ! !                                                0# 0# 0# 0# 0#8& 0# 0# 0#f
 
 
 
 
75x7H 
 
 
2A8 A8 A8 A8 A8h' A8 A8 A8 A8 A8r#   