o
    Rc                     @   s   d 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 ddlmZ G dd de
jZdS )z*verrrrry basic unicode column name testing    )desc)
ForeignKey)Integer)MetaData)testing)util)eq_)fixtures)Column)Table)u)uec                   @   s@   e Zd ZdZdZedd Zdd Zdd Zd	d
 Z	dd Z
dS )UnicodeSchemaTest)Zunicode_ddlTc                 C   s,  t td|ttdtddttdtddat td|ttdtddd	ttdtttd
ddddat	drpt td|ttdtdddttdtttdttdtttdttdtttddda
d S t td|ttdtdddttdtttdtttdtdda
d S )NZ	unitable1   méilT)primary_key   測試)Ztest_needs_fku
   Unitéble2a)r   keyu   unitable1.méilb)r   Zsqlite	   測試_idF)r   Zautoincrement   unitable1_測試u   unitable1.測試   Unitéble2_bu   Unitéble2.b   測試_selfu   測試.測試_id)r   r   r
   r   r   t1r   t2r   Zagainstt3)clsmetadata r   KD:\Flask\env\Lib\site-packages\sqlalchemy/testing/suite/test_unicode_ddl.pydefine_tables   st   





zUnicodeSchemaTest.define_tablesc                 C   s   | t tddtddi | t tddtddi | t tddtddtd	dtd
di t| t 	 dg t| t 	 dg t| t 	 dg d S )Nr      r      r   r   r   r   r   r   r!   r"   r!   r!   r!   r"   r!   r!   )
executer   insertr   r   r   r   r   selectfetchall)self
connectionr   r   r   test_insertX   s     
zUnicodeSchemaTest.test_insertc                 C   sz  | t tddtddi | t tddtddi | t tddtddtd	dtd
di | t  }t	|j
tjtd  d t	|j
tjtd  d | t  }t	|j
tjtd  d t	|j
tjtd  d | t  }t	|j
tjtd  d t	|j
tjtd  d t	|j
tjtd	  d t	|j
tjtd
  d d S )Nr   r!   r   r"   r   r   r   r   r   r   )r&   r   r'   r   r   r   r   r(   firstr   _mappingc)r*   r+   rowr   r   r   test_col_targetingi   s*     
z$UnicodeSchemaTest.test_col_targetingc                 C   s  | t tddtddi | t tddtddi | t tddtddtd	dtd
di t }ttj	||d}ttj	||d}ttj	||d}| | tddtddi | | tddtddi | | tddtddtd	dtd
di t
| | ttd ddg t
| | ttd ddg t
| | ttd ddg d S )Nr      r      r   r   r   r   r   r   )Zautoload_withr!   r"   )r2   r3   r#   )r2   r2   r$   )r2   r3   r2   r2   r%   )r&   r   r'   r   r   r   r   r   r   namer   r(   Zorder_byr   r)   )r*   r+   metaZtt1Ztt2Ztt3r   r   r   test_reflect   sZ     
  
zUnicodeSchemaTest.test_reflectc                 C   sJ   t  }ttd|ttdt}tjrtt|d d S tt|d d S )Nr   r   ud   Table('\u6e2c\u8a66', MetaData(), Column('\u6e2c\u8a66_id', Integer(), table=<測試>), schema=None)uX   Table('測試', MetaData(), Column('測試_id', Integer(), table=<測試>), schema=None))	r   r   r   r
   r   r   Zpy2kr   repr)r*   r5   tr   r   r   	test_repr   s   
zUnicodeSchemaTest.test_reprN)__name__
__module____qualname____requires__Z__backend__classmethodr    r,   r1   r6   r9   r   r   r   r   r      s    
A1r   N)__doc__Z
sqlalchemyr   r   r   r   r   r   Zsqlalchemy.testingr   r	   Zsqlalchemy.testing.schemar
   r   Zsqlalchemy.utilr   r   Z
TablesTestr   r   r   r   r   <module>   s   