
    -ha3                        S SK Jr  SSK Jr  SSK Jr  SSK Jr  SSK Jr  SSK Jr  SSK Jr  SS	K Jr  SS
KJ	r	  SSK
Jr  SSKJr  SSKJr  SSK Jr  SSK Jr  SSK Jr  SSK Jr  SSK Jr  SSK Jr  SSK Jr  SSKJr   " S S\R0                  5      r " S S\R4                  5      r " S S\R0                  5      r " S S\R4                  5      r " S S \R4                  5      r " S! S"\R>                  \5      r  " S# S$\R4                  5      r!g%)&   )testing   )assert_raises)config)engines)eq_)fixtures)ne_)provide_metadata)requirements) set_default_schema_on_connection)Column)Table   )	bindparam)event)exc)Integer)literal_column)select)String)compatc                   Z    \ rS rSrSrSrSr\S 5       r\	R                  S 5       rS rSrg	)
ExceptionTest   zTest basic exception wrapping.

DBAPIs vary a lot in exception behavior so to actually anticipate
specific exceptions from real round trips, we need to be conservative.

eachTc                 b    [        SU[        S[        SSS9[        S[        S5      5      5        g )N	manual_pkidTFprimary_keyautoincrementdata2   r   r   r   r   clsmetadatas     zC:\Users\ROHAN GUPTA\OneDrive\Desktop\mathbuddy-assessment\venv\Lib\site-packages\sqlalchemy/testing/suite/test_dialect.pydefine_tablesExceptionTest.define_tables+   s,    4d%H66":&		
    c           	         [         R                  R                  5        nUR                  5       nUR	                  U R
                  R                  R                  5       SSS.5        [        [        R                  UR                  U R
                  R                  R                  5       SSS.5        UR                  5         S S S 5        g ! , (       d  f       g = f)Nr   d1r   r#   )r   dbconnectbeginexecutetablesr   insertr   r   IntegrityErrorrollback)selfconntranss      r)   test_integrity_error"ExceptionTest.test_integrity_error4   s     YY DJJLELL%%,,.q$0G ""%%,,.$'	 NN !  s   B#C
Cc                    [         R                  R                  5        n UR                  [	        [        S5      5      5         e! [        R                   a9  n[        U5      n[        UR                  5      [        U5      ;   d   e S nAOS nAff = f[        R                  (       a  [        U[        5      (       d   eO[        U[        5      (       d   eS S S 5        g ! , (       d  f       g = f)Nu   méil)r   r0   r1   r3   r   r   r   
DBAPIErrorstrorigr   py2k
isinstance)r8   r9   errerr_strs       r)   test_exception_with_non_ascii+ExceptionTest.test_exception_with_non_asciiG   s    YY D1 VN8$<=>u>> 1c(388}C0001 {{!'3////!'3////' !  s/   C#%AB/B	C#BAC##
C1 N)__name__
__module____qualname____firstlineno____doc__run_deletes__backend__classmethodr*   r   $duplicate_key_raises_integrity_errorr;   rE   __static_attributes__rG   r,   r)   r   r      sD     KK
 
 66 7$0r,   r   c                   4    \ rS rSrSrSrS rS rS rS r	Sr
g	)
IsolationLevelTest^   Tisolation_levelc                     [         R                  " [        5      nUS   nUS   n[        U5      R	                  SU/5      nU(       a  UR                  5       $ [        R                  " S5        g )Ndefault	supported
AUTOCOMMITz(no non-default isolation level available)r   get_isolation_levelsr   set
differencepop	skip_test)r8   levelsrX   rY   ss        r)    _get_non_default_isolation_level3IsolationLevelTest._get_non_default_isolation_levelc   s\    226:#;'		N%%|W&=>557NGHr,   c                     [        [        R                  R                  R                  [
        R                  " [        5      S   5        g )NrX   )r   r   r0   dialectdefault_isolation_levelr   r[   )r8   s    r)   test_default_isolation_level/IsolationLevelTest.test_default_isolation_levelo   s0    II55--f5i@	
r,   c                    U R                  5       n[        R                  R                  5        nUR	                  5       n[        X15        UR                  US9  [        UR	                  5       U5        UR                  R                  UR                  5        [        UR	                  5       U5        S S S 5        g ! , (       d  f       g = f)NrU   )rb   r   r0   r1   get_isolation_levelr
   execution_optionsr   re   reset_isolation_level
connection)r8   non_defaultr9   existings       r)    test_non_default_isolation_level3IsolationLevelTest.test_non_default_isolation_levelu   s    ;;=YY D//1H&"";"?((*K8LL..t?((*H5 !  s   BB<<
C
c                 h   [         R                  " [        5      nUS   n[        U5      R	                  S/5       H  n[        R
                  R                  5        nUR                  US9  [        UR                  5       U5        UR                  5       nUR                  5         [        UR                  5       U5        S S S 5        [        R
                  R                  5        n[        UR                  5       US   5        S S S 5        M     g ! , (       d  f       NW= f! , (       d  f       M  = f)NrY   rZ   rU   rX   )r   r[   r   r\   r]   r0   r1   rk   r   rj   r2   r7   )r8   r`   
all_levelslevelr9   r:   s         r)   test_all_levels"IsolationLevelTest.test_all_levels   s    226:K(
_//?E""$&&u&=D,,.6

 D,,.6 % ""$,,.9% %$ @$$ %$s   A$D&D"
D	"
D1	rG   N)rH   rI   rJ   rK   rN   __requires__rb   rg   rp   ru   rQ   rG   r,   r)   rS   rS   ^   s!    K'L
I
6 r,   rS   c                   H    \ rS rSrSrSrSr\S 5       rS r	S r
S rS	 rS
rg)AutocommitIsolationTest   r   )
autocommitTc                 `    [        SU[        S[        SSS9[        S[        S5      5      SS9  g )	N
some_tabler   TFr    r#   r$   )test_needs_acidr%   r&   s     r)   r*   %AutocommitIsolationTest.define_tables   s/    4d%H66":& 	
r,   c                    UR                  5       nUR                  U R                  R                  R	                  5       SSS.5        UR                  5         [        UR                  [        U R                  R                  R                  R                  5      5      U(       a  SOS 5        UR                  5          UR                  U R                  R                  R                  5       5        S S S 5        g ! , (       d  f       g = f)Nr   z	some datar/   )r2   r3   r4   r}   r5   r7   r   scalarr   cr   delete)r8   r9   r{   r:   s       r)   _test_conn_autocommits.AutocommitIsolationTest._test_conn_autocommits   s    

KK""))+A{-K	
 	KKt{{5577::;<A	

 ZZ\LL//6689 \\s   =4C::
Dc                     UnUR                  SS9nU R                  US5        UR                  R                  UR                  5        U R                  US5        g )NrZ   rU   TF)rk   r   re   rl   rm   )r8   connection_no_transr9   c2s       r)   test_autocommit_on*AutocommitIsolationTest.test_autocommit_on   sP    "##L#A##B-


((7##D%0r,   c                 ,    UnU R                  US5        g )NF)r   r8   r   r9   s      r)   test_autocommit_off+AutocommitIsolationTest.test_autocommit_off   s    "##D%0r,   c                     UnUR                  SS9nU R                  US5        UR                  [        R                  " [        5      S   S9  U R                  US5        g )NrZ   rU   TrX   F)rk   r   r   r[   r   r   s      r)   .test_turn_autocommit_off_via_default_iso_levelFAutocommitIsolationTest.test_turn_autocommit_off_via_default_iso_level   sg     #%%l%C##D$/(==fE 	 	

 	##D%0r,   rG   N)rH   rI   rJ   rK   rM   rw   rN   rO   r*   r   r   r   r   rQ   rG   r,   r)   ry   ry      s7    K"LK
 
:111r,   ry   c                   $    \ rS rSr\S 5       rSrg)EscapingTest   c                 B   U R                   n[        SU[        S[        S5      5      5      nUR	                  [
        R                  5        [
        R                  R                  5        nUR                  UR                  5       [        SS95        UR                  UR                  5       [        SS95        [        UR                  [        UR                  R                  5      R!                  UR                  R                  [#        S5      :H  5      5      S5        [        UR                  [        UR                  R                  5      R!                  UR                  R                  [#        S5      :H  5      5      S5        S	S	S	5        g	! , (       d  f       g	= f)
zltest that the DBAPI accommodates for escaped / nonescaped
percent signs in a way that matches the compiler

tr#   r$   zsome % value)r#   zsome %% other valuez'some % value'z'some %% other value'N)r(   r   r   r   creater   r0   r2   r3   r5   dictr   r   r   r   r#   wherer   )r8   mr   r9   s       r)   test_percent_sign_round_trip)EscapingTest.test_percent_sign_round_trip   s    MM#q&45	YY__$LLT~%>?LLT/D%EF13388$**N3C$DD
  13388$**N3J$KK
 & s   *DF
FrG   N)rH   rI   rJ   rK   r   r   rQ   rG   r,   r)   r   r      s     r,   r   c                   4    \ rS rSrSrSrS rS rS rS r	Sr
g	)
 WeCanSetDefaultSchemaWEventsTest   T)default_schema_name_switchc                    [         R                  R                  R                  n[        R
                  " 5       nUR                  5           S S S 5        [        UR                  R                  U5        g ! , (       d  f       N/= fN)r   r0   re   default_schema_namer   testing_enginer1   r   )r8   r   engs      r)   test_control_case2WeCanSetDefaultSchemaWEventsTest.test_control_case   sV    $ii//CC$$&[[]  	CKK++-@A ]s   
A55
Bc                    [         R                  R                  R                  n[        R
                  " 5       n[        R                  " US5      S 5       nUR                  5        nUR                  R                  U5      n[        U[         R                  5        S S S 5        [        UR                  R                  U5        g ! , (       d  f       N/= f)Nr1   c                 B    [        [        U [        R                  5        g r   r   r   test_schemadbapi_connectionconnection_records     r)   
on_connectMWeCanSetDefaultSchemaWEventsTest.test_wont_work_wo_insert.<locals>.on_connect      ,(&*<*<r,   )r   r0   re   r   r   r   r   listens_forr1   _get_default_schema_namer   r   )r8   r   r   r   r9   what_it_should_bes         r)   test_wont_work_wo_insert9WeCanSetDefaultSchemaWEventsTest.test_wont_work_wo_insert  s    $ii//CC$$&			3		*	 
+	
 [[]d # D DT J!6#5#56  	CKK++-@A	 ]s   '6C
Cc                    [         R                  " 5       n[        R                  " USSS9S 5       nUR	                  5        nUR
                  R                  U5      n[        U[        R                  5        S S S 5        [        UR
                  R                  [        R                  5        g ! , (       d  f       N== f)Nr1   Tr5   c                 B    [        [        U [        R                  5        g r   r   r   s     r)   r   RWeCanSetDefaultSchemaWEventsTest.test_schema_change_on_connect.<locals>.on_connect  r   r,   )r   r   r   r   r1   re   r   r   r   r   r   )r8   r   r   r9   r   s        r)   test_schema_change_on_connect>WeCanSetDefaultSchemaWEventsTest.test_schema_change_on_connect  s    $$&			3	$	7	 
8	
 [[]d # D DT J!6#5#56  	CKK++V-?-?@	 ]s   6B//
B=c                 *   [         R                  " 5       n[        R                  " USSS9S 5       nUR	                  5        nUR                  5       nUR                  R                  U5      n[        U[        R                  5        UR                  5         UR                  R                  U5      n[        U[        R                  5        S S S 5        [        UR                  R                  [        R                  5        g ! , (       d  f       N== f)Nr1   Tr   c                 B    [        [        U [        R                  5        g r   r   )r   args     r)   r   \WeCanSetDefaultSchemaWEventsTest.test_schema_change_works_w_transactions.<locals>.on_connect+  r   r,   )r   r   r   r   r1   r2   re   r   r   r   r   r7   r   )r8   r   r   r9   r:   r   s         r)   'test_schema_change_works_w_transactionsHWeCanSetDefaultSchemaWEventsTest.test_schema_change_works_w_transactions(  s    $$&			3	$	7	 
8	
 [[]dJJLE # D DT J!6#5#56NN # D DT J!6#5#56  	CKK++V-?-?@ ]s   BD
DrG   N)rH   rI   rJ   rK   rN   rw   r   r   r   r   rQ   rG   r,   r)   r   r      s$    K2LBB"AAr,   r   c                       \ rS rSrSrg)&FutureWeCanSetDefaultSchemaWEventsTesti=  rG   N)rH   rI   rJ   rK   rQ   rG   r,   r)   r   r   =  s     	r,   r   c                       \ rS rSrSr\R                  " SSSSSSS	S
SSSSSSSSSSSSSSS9r\\R                  R                  S 5       5       r\R                  S 5       r\S 5       r\S 5       rSrg) DifficultParametersTestiC  T)boring)zper cent)z
per % cent)z%percent)zpar(ens))zpercent%(ens)yah)zcol:ons)_starts_with_underscore)zdot.s)zmore :: %colons%)_name)___name)z[BracketsAndCase])	42numbers)zpercent%signs)z
has spaces)z	/slashes/)zmore/slashes)zq?marks)1param)z1col:on	paramname)argnamesc                 H   Un[        SU[        S[        SS9[        U[        S5      SS95      nUR	                  U5        UR                  UR                  5       R                  SSUS	05      5        [        UR                  U   5      R                  UR                  U   S	:H  5      n[        UR                  U5      S	5        [        UR                  U   5      R                  UR                  U   [        U5      :H  5      nUR                  XdS	05      R                  5       n[        UR                  U   S	5        [        UR                  U   5      R                  UR                  U   R!                  S	S
/5      5      nUR                  U5      R                  5       ng )Nr   r   T)r!   r$   F)nullabler   z	some namezsome other_name)r   r   r   r   r   r3   r5   valuesr   r   r   r   r   r   first_mappingin_)r8   r   rm   r(   namer   stmtrows           r)   !test_round_trip_same_named_column9DifficultParametersTest.test_round_trip_same_named_column_  se   
 4d34e4	
 	
 	188:,,dAt[-IJK acc$i &&qss4yK'?@Jd#[1 acc$i &&qss4yIdO'CD  k':;AAC 	CLL, acc$i &&CCIMM;(9:;
   &,,.r,   c              #   $  #    [        SU[        S[        5      [        S[        S5      5      [        S[        S5      5      5      nUR	                  U5        UR                  UR                  5       SSSS	.S
SSS	.SSSS	.SSSS	./5        Uv   g 7f)Nmytablemyidr   r$   descr   aa_desc)r   r   r   r   bb_descr   r   c_desc   dd_desc)r   r   r   r   r   r3   r5   )r8   r(   rm   r   s       r)   multirow_fixture(DifficultParametersTest.multirow_fixture  s     67#66":&66":&
 	z"NNC:C:C:C:		
 s   BBc                     Un[        UR                  R                  5      R                  UR                  R                  [        USS9:H  5      nUR                  XQS05      n[        US5        g )Nxvaluer   r   )r   r   r   r   r   r   r   r   r8   r   rm   r   tbl1r   ress          r)    test_standalone_bindparam_escape8DifficultParametersTest.test_standalone_bindparam_escape  s]      dffkk"((FFKK9Yc::
 #&67Cr,   c           	      f   Un[        UR                  R                  5      R                  UR                  R                  R                  [        USS/S95      5      R                  UR                  R                  5      nUR                  XQSS/05      R                  5       n[        USS/5        g )Nr   r   r   r   r   r   )r   r   r   r   r   r   r   order_byscalarsallr   r   s          r)   *test_standalone_bindparam_escape_expandingBDifficultParametersTest.test_standalone_bindparam_escape_expanding  s      466;;U466;;??9YsCj#IJKXdffkk" 	   C:'>?CCEC!Qr,   rG   N)rH   rI   rJ   rK   rN   r   combinationstough_parametersr   r   unusual_column_name_charactersr   fixturer   r   r   rQ   rG   r,   r)   r   r   C  s    K++$-2 77$/ 8 $/L __ ,    r,   r   N)" r   r   r   r   r   r	   r
   r   r   	provisionr   schemar   r   r   r   r   r   r   r   r   utilr   
TablesTestr   TestBaserS   ry   r   r   FutureEngineMixinr   r   rG   r,   r)   <module>r     s            ! 8          <0H'' <0~;** ;|:1h11 :1z8$$ B@Ax'8'8 @AF	 @	rh// rr,   