U aP@sddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZdd l m Z dd l m Z Gd d d e j Z d S)) bindparam)Column)Integer)select)String)Table)testing)text)eq_)fixturesc@seZdZdZdZdZeddZeddZdd Z d d Z d d Z e j jddZddZddZddZe j jddZe j jddZdS) RowCountTestztest rowcount functionality)Z sane_rowcountTc Cs4td|tdtdddtdtdtdtd dS) N employees employee_idFT)Z autoincrementZ primary_keyname2 department)rrrr)clsmetadatargC:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-nyjtotrf\sqlalchemy\testing\suite\test_rowcount.py define_tabless  zRowCountTest.define_tablesc CsFddddddddd g |_}|jj}||d d t|DdS) N)ZAngelaA)ZAndrewr)ZAnandr)BobB)ZBobetter)ZBuffyr)ZCharlieC)Cynthiar)ZChrisrcSs g|]\}\}}|||dqS))rrrr).0indrrr 3s z,RowCountTest.insert_data..)datatablesr executeinsert enumerate)r connectionr"employees_tablerrr insert_data"s" zRowCountTest.insert_datacCsB|jj}t|jj|jj|jj}|| }t ||j dS)N) r#r rcrrZorder_byrr$Zfetchallr r")selfr'r(srowsrrr test_basic9szRowCountTest.test_basiccCs<|jj}|jj}|||dkddi}|jdks8tdS)NrrZ)r#r r*rr$updaterowcountAssertionErrorr+r'r(rrrrrtest_update_rowcount1Bs z"RowCountTest.test_update_rowcount1cCs:|jj}|jj}|||dkddi}t|jddS)Nrrr0)r#r r*rr$r1r r2r4rrrtest_update_rowcount2Ls z"RowCountTest.test_update_rowcount2cCsL|jj}|jj}||dkj|jjdd}||}t|j ddS)Nrr/)rr0) r#r r*rr1valuesZreturn_defaultsr$r r2)r+r'r(rstmtr5rrr$test_update_rowcount_return_defaultsWs  z1RowCountTest.test_update_rowcount_return_defaultscCs|d}t|jddSNz8update employees set department='Z' where department='C'r0)Zexec_driver_sqlr r2r+r'resultrrrtest_raw_sql_rowcountesz"RowCountTest.test_raw_sql_rowcountcCs|td}t|jddSr;)r$r r r2r<rrrtest_text_rowcountlszRowCountTest.test_text_rowcountcCs4|jj}|jj}|||dk}t|jddS)Nrr0)r#r r*rr$deleter r2r4rrrtest_delete_rowcountssz!RowCountTest.test_delete_rowcountcCsX|jj}||jjtdkjdd}||ddiddiddig}t |j ddS)Nemp_namer)rrr nonexistent) r#r r1wherer*rrr8r$r r2r+r'r(r9r5rrrtest_multi_update_rowcount{s z'RowCountTest.test_multi_update_rowcountcCsP|jj}||jjtdk}||ddiddiddig}t|j ddS)NrBrrrCrD) r#r r@rEr*rrr$r r2rFrrrtest_multi_delete_rowcounts z'RowCountTest.test_multi_delete_rowcountN)__name__ __module__ __qualname____doc__ __requires__Z __backend__ classmethodrr)r.r6r7rrequiresZsane_rowcount_w_returningr:r>r?rAZsane_multi_rowcountrGrHrrrrr s&       r N)Z sqlalchemyrrrrrrrr Zsqlalchemy.testingr r Z TablesTestr rrrrs