Files
vibe_data_ana/tests/__pycache__/test_data_access.cpython-311-pytest-8.3.3.pyc

214 lines
38 KiB
Plaintext
Raw Normal View History

<EFBFBD>
<00>֪i<D6AA>$<00><00><><00>dZddlZddlmcmZddlZddlZ ddl
Z
ddl Z ddl m Z ddlmZmZGd<05>d<06><00>ZGd<07>d<08><00>ZdS) <09>!数据访问层的单元测试。<E8AF95>N)<01>Path)<02>DataAccessLayer<65> DataLoadErrorc<00>`<00>eZdZdZd<02>Zd<03>Zd<04>Zd<05>Zd<06>Zd<07>Z d<08>Z
d <09>Z d
<EFBFBD>Z d <0B>Z d <0C>Zd <0A>Zd<0E>ZdS)<10>TestDataAccessLayerrc<00>r<00>tjdddd<04><05><00>5}|<01>d<06><00>|<01>d<07><00>|<01>d<08><00>|j}d d d <09><00>n #1swxYwY t j|<02><00>}|j}d
}||k}|s<>tjd |fd ||f<02><00>d tj
<00><00>vstj |<03><00>rtj |<03><00>nd tj |<04><00>tj |<05><00>d<0E>z}dd|iz}ttj|<08><00><00><00><00>d x}x}}d} |j}| |v}
|
s<EFBFBD>tjd|
fd| |f<02><00>tj | <09><00>d tj
<00><00>vstj |<03><00>rtj |<03><00>nd tj |<05><00>d<14>z}dd|iz}ttj|<08><00><00><00><00>d x} x}
}d} |j}| |v}
|
s<EFBFBD>tjd|
fd| |f<02><00>tj | <09><00>d tj
<00><00>vstj |<03><00>rtj |<03><00>nd tj |<05><00>d<14>z}dd|iz}ttj|<08><00><00><00><00>d x} x}
}d} |j}| |v}
|
s<EFBFBD>tjd|
fd| |f<02><00>tj | <09><00>d tj
<00><00>vstj |<03><00>rtj |<03><00>nd tj |<05><00>d<14>z}dd|iz}ttj|<08><00><00><00><00>d x} x}
}t!j|<02><00>d S#t!j|<02><00>wxYw)u*测试加载 UTF-8 编码的 CSV 文件。<E4BBB6>w<>.csvF<76>utf-8<><04>mode<64>suffix<69>delete<74>encodingzid,name,value
<EFBFBD> 1,测试,100
<EFBFBD> 2,数据,200
N<EFBFBD><02><00><00><01>==<3D>z-%(py2)s
{%(py2)s = %(py0)s.shape
} == %(py5)s<>dal<61><03>py0<79>py2<79>py5<79>assert %(py7)s<>py7<79>id<69><01>in)z/%(py1)s in %(py5)s
{%(py5)s = %(py3)s.columns
}<7D><03>py1<79>py3r<00>name<6D>value)<12>tempfile<6C>NamedTemporaryFile<6C>writer'r<00>load_from_file<6C>shape<70>
@pytest_ar<61>_call_reprcompare<72> @py_builtins<6E>locals<6C>_should_repr_global_name<6D> _saferepr<70>AssertionError<6F>_format_explanation<6F>columns<6E>os<6F>unlink) <0B>self<6C>f<> temp_filer<00> @py_assert1<74> @py_assert4<74> @py_assert3<74> @py_format6<74> @py_format8<74> @py_assert0<74> @py_assert2s <20>=D:\code\iov_data_analysis_agent_old\tests\test_data_access.py<70>test_load_utf8_csvz&TestDataAccessLayer.test_load_utf8_csvs<><00><00><16> (<28>c<EFBFBD>&<26><15>Y`<60> a<> a<> a<> <1F>ef<65> <0A>G<EFBFBD>G<EFBFBD>%<25> &<26> &<26> &<26> <0A>G<EFBFBD>G<EFBFBD>$<24> %<25> %<25> %<25> <0A>G<EFBFBD>G<EFBFBD>$<24> %<25> %<25> %<25><19><06>I<EFBFBD>  <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F><><EFBFBD><EFBFBD> <1F> <1F> <1F> <1F> !<21>!<21>0<><19>;<3B>;<3B>C<EFBFBD> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> <0E>I<EFBFBD>i<EFBFBD> <20> <20> <20> <20> <20><>B<EFBFBD>I<EFBFBD>i<EFBFBD> <20> <20> <20> <20><><EFBFBD>s<00>AA,<03>,A0<07>3A0<07>8LN <00> N6c<00>T<00>tjdddd<04><05><00>5}|<01>d<06><00>|<01>d<07><00>|<01>d<08><00>|j}d d d <09><00>n #1swxYwY t j|<02><00>}|j}d
}||k}|s<>tjd |fd ||f<02><00>d tj
<00><00>vstj |<03><00>rtj |<03><00>nd tj |<04><00>tj |<05><00>d<0E>z}dd|iz}ttj|<08><00><00><00><00>d x}x}}|j} t!| <09><00>}d}
||
k} | <0B>stjd | fd||
f<02><00>dtj
<00><00>vstj t <00><00>rtj t <00><00>ndd tj
<00><00>vstj |<03><00>rtj |<03><00>nd tj | <09><00>tj |<05><00>tj |
<EFBFBD><00>d<14>z} dd| iz} ttj| <0A><00><00><00><00>d x} x}x} }
t#j|<02><00>d S#t#j|<02><00>wxYw)u(测试加载 GBK 编码的 CSV 文件。r
r F<>gbkr u编号,名称,数值
rrNrrrrrrr r<00>zM%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.columns
})
} == %(py8)s<>len<65>rr%r&r<00>py8<79>assert %(py10)s<>py10)r)r*r+r'rr,r-r.r/r0r1r2r3r4r5r6rHr7r8)r9r:r;rr<r=r>r?r@rB<00> @py_assert7<74> @py_assert6<74> @py_format9<74> @py_format11s rC<00>test_load_gbk_csvz%TestDataAccessLayer.test_load_gbk_csv#s!<00><00><16> (<28>c<EFBFBD>&<26><15>Y^<5E> _<> _<> _<> <1F>cd<63> <0A>G<EFBFBD>G<EFBFBD>,<2C> -<2D> -<2D> -<2D> <0A>G<EFBFBD>G<EFBFBD>$<24> %<25> %<25> %<25> <0A>G<EFBFBD>G<EFBFBD>$<24> %<25> %<25> %<25><19><06>I<EFBFBD>  <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F><><EFBFBD><EFBFBD> <1F> <1F> <1F> <1F>  !<21>!<21>0<><19>;<3B>;<3B>C<EFBFBD> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> &<26> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> (<28> <0E>I<EFBFBD>i<EFBFBD> <20> <20> <20> <20> <20><>B<EFBFBD>I<EFBFBD>i<EFBFBD> <20> <20> <20> <20><><EFBFBD>s<00>AA,<03>,A0<07>3A0<07>8HJ<00>J'c<00><><00>tjdddd<04><05><00>5}|<01>d<06><00>|j}ddd<07><00>n #1swxYwY t jt d<08> <09><00>5tj|<02><00>ddd<07><00>n #1swxYwYtj
|<02><00>dS#tj
|<02><00>wxYw)
u测试加载空文件。r
r Fr r zid,name
Nu为空)<01>match) r)r*r+r'<00>pytest<73>raisesrrr,r7r8)r9r:r;s rC<00>test_load_empty_filez(TestDataAccessLayer.test_load_empty_file5s9<00><00><16> (<28>c<EFBFBD>&<26><15>Y`<60> a<> a<> a<> <1F>ef<65> <0A>G<EFBFBD>G<EFBFBD>K<EFBFBD> <20> <20> <20><19><06>I<EFBFBD> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F><><EFBFBD><EFBFBD> <1F> <1F> <1F> <1F> !<21><17><1D>}<7D>H<EFBFBD>=<3D>=<3D>=<3D> :<3A> :<3A><1F>.<2E>y<EFBFBD>9<>9<>9<> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A> :<3A><><EFBFBD><EFBFBD> :<3A> :<3A> :<3A> :<3A> <0F>I<EFBFBD>i<EFBFBD> <20> <20> <20> <20> <20><>B<EFBFBD>I<EFBFBD>i<EFBFBD> <20> <20> <20> <20><><EFBFBD>sA<00>A<03>A<07> A<07>B+<00>)B
<03>> B+<00>
B<07>B+<00>B<07>B+<00>+Cc<00><><00>tjt<00><00>5tjd<01><00>ddd<02><00>dS#1swxYwYdS)u!测试加载不存在的文件。znonexistent_file.csvN)rTrUrrr,)r9s rC<00>test_load_invalid_filez*TestDataAccessLayer.test_load_invalid_fileCs<><00><00> <13>]<5D>=<3D> )<29> )<29> C<01> C<01> <1B> *<2A>+A<> B<> B<> B<> C<01> C<01> C<01> C<01> C<01> C<01> C<01> C<01> C<01> C<01> C<01> C<01><><EFBFBD><EFBFBD> C<01> C<01> C<01> C<01> C<01> Cs<00><<03>A<07>Ac<00><> <00>tjgd<01>gd<02>gd<03>gd<04>d<05><04><00>}t|d<06><07><00>}|<02><00><00>}|j}d}||k}|s<>t jd|fd ||f<02><00>d
tj<00><00>vst j |<03><00>rt j
|<03><00>nd
t j
|<04><00>t j
|<05><00>d <0B>z}d d |iz}tt j |<08><00><00><00><00>dx}x}}|j }d}||k}|s<>t jd|fd||f<02><00>d
tj<00><00>vst j |<03><00>rt j
|<03><00>nd
t j
|<04><00>t j
|<05><00>d <0B>z}d d |iz}tt j |<08><00><00><00><00>dx}x}}|j}d}||k}|s<>t jd|fd||f<02><00>d
tj<00><00>vst j |<03><00>rt j
|<03><00>nd
t j
|<04><00>t j
|<05><00>d <0B>z}d d |iz}tt j |<08><00><00><00><00>dx}x}}|j} t!| <09><00>}d}
||
k} | <0B>st jd| fd||
f<02><00>dtj<00><00>vst j t <00><00>rt j
t <00><00>ndd
tj<00><00>vst j |<03><00>rt j
|<03><00>nd
t j
| <09><00>t j
|<05><00>t j
|
<EFBFBD><00>d<15>z} dd| iz} tt j | <0A><00><00><00><00>dx} x}x} }
d<18>|jD<00><00>}d}||v} | s<>t jd| fd||f<02><00>t j
|<0F><00>dtj<00><00>vst j |<0E><00>rt j
|<0E><00>ndd<1D>z}dd|iz}tt j |<07><00><00><00><00>dx}} d }||v} | s<>t jd| fd||f<02><00>t j
|<0F><00>dtj<00><00>vst j |<0E><00>rt j
|<0E><00>ndd<1D>z}dd|iz}tt j |<07><00><00><00><00>dx}} d!}||v} | s<>t jd| fd||f<02><00>t j
|<0F><00>dtj<00><00>vst j |<0E><00>rt j
|<0E><00>ndd<1D>z}dd|iz}tt j |<07><00><00><00><00>dx}} d"}||v} | s<>t jd| fd||f<02><00>t j
|<0F><00>dtj<00><00>vst j |<0E><00>rt j
|<0E><00>ndd<1D>z}dd|iz}tt j |<07><00><00><00><00>dx}} dS)#u!测试生成基本数据画像。<E5838F><05>rr<00><00>)<05>A<>B<>C<>D<>E)<05>
<00><00><00>(<00>2<00><05>open<65>closedrirjri)r!r'r(<00>statusztest.csv)<01> file_pathr)z1%(py2)s
{%(py2)s = %(py0)s.file_path
} == %(py5)s<>profilerrr Nr]<00>z1%(py2)s
{%(py2)s = %(py0)s.row_count
} == %(py5)sr\<00>z4%(py2)s
{%(py2)s = %(py0)s.column_count
} == %(py5)srGrHrIrKrLc<00><00>g|] }|j<00><02>
S<00><00>r'<00><02>.0<EFBFBD>cols rC<00>
<listcomp>z>TestDataAccessLayer.test_get_profile_basic.<locals>.<listcomp>\s<00><00>9<>9<>9<>#<23>S<EFBFBD>X<EFBFBD>9<>9<>9<>r!r")z%(py1)s in %(py3)s<> col_names)r%r&zassert %(py5)srr'r(rk)<11>pd<70> DataFramer<00> get_profilerlr.r/r0r1r2r3r4r5<00> row_count<6E> column_countr6rH)r9<00>dfrrmr<r=r>r?r@rBrMrNrOrPrxrA<00> @py_format4s rC<00>test_get_profile_basicz*TestDataAccessLayer.test_get_profile_basicHs<><00><00><10>\<5C>!<21>/<2F>/<2F>-<2D>-<2D>-<2D>)<29>)<29>)<29>B<>B<>B<> 
<EFBFBD>
<EFBFBD> <0B> <0B><02><1E>b<EFBFBD>J<EFBFBD>7<>7<>7<><03><15>/<2F>/<2F>#<23>#<23><07> /<2F>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>%<25>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>(<28>:<3A>9<><17><1F>9<>9<>9<> <09> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20> <20>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>"<22>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>#<23>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$<24>$rwc<00>@<00>tjgd<01>gd<02>d<03><02><00>}t|<01><00>}|<02><00><00>}t d<04>|jD<00><00><00><00>}|j}d}||k}|s<>tjd|fd||f<02><00>dtj
<00><00>vstj |<04><00>rtj |<04><00>ndtj |<05><00>tj |<06><00>d <09>z}d
d |iz} ttj| <09><00><00><00><00>d x}x}}d S) u'测试包含缺失值的数据画像。rZ)rcNreNrg<00>r!r(c3<00>0K<00>|]}|jdk<00> |V<00><00>dS<00>r(Nrrrss rC<00> <genexpr>zKTestDataAccessLayer.test_get_profile_with_missing_values.<locals>.<genexpr>ms.<00><00><00><00>O<>O<><13>3<EFBFBD>8<EFBFBD>w<EFBFBD>;N<>;N<><13>;N<>;N<>;N<>;N<>O<>Orwg<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?r)z4%(py2)s
{%(py2)s = %(py0)s.missing_rate
} == %(py5)s<> value_colrrr N)ryrzrr{<00>nextr6<00> missing_rater.r/r0r1r2r3r4r5)
r9r~rrmr<>r<r=r>r?r@s
rC<00>$test_get_profile_with_missing_valuesz8TestDataAccessLayer.test_get_profile_with_missing_valuesbsZ<00><00> <0F>\<5C>!<21>/<2F>/<2F>-<2D>-<2D>-<2D>
<EFBFBD>
<EFBFBD> <0B> <0B><02>
<1E>b<EFBFBD>!<21>!<21><03><15>/<2F>/<2F>#<23>#<23><07><19>O<>O<><07><0F>O<>O<>O<>O<>O<> <09> -<2D>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,rwc<00><> <00>tjgd<01>gd<02>d<03><02><00>}t|<01><00>}|<02><00><00>}t d<04>|jD<00><00><00><00>}t d<05>|jD<00><00><00><00>}|j}d}||k}|s<>tjd|fd||f<02><00>d tj
<00><00>vstj |<04><00>rtj |<04><00>nd tj |<06><00>tj |<07><00>d
<EFBFBD>z} d d | iz}
ttj|
<EFBFBD><00><00><00><00>d x}x}}|j}d}||k}|s<>tjd|fd||f<02><00>dtj
<00><00>vstj |<05><00>rtj |<05><00>ndtj |<06><00>tj |<07><00>d
<EFBFBD>z} d d | iz}
ttj|
<EFBFBD><00><00><00><00>d x}x}}d} |j}| |v} | s<>tjd| fd| |f<02><00>tj | <0B><00>d tj
<00><00>vstj |<04><00>rtj |<04><00>nd tj |<07><00>d<12>z} d d | iz}
ttj|
<EFBFBD><00><00><00><00>d x} x} }d} |j}| |v} | s<>tjd| fd| |f<02><00>tj | <0B><00>d tj
<00><00>vstj |<04><00>rtj |<04><00>nd tj |<07><00>d<12>z} d d | iz}
ttj|
<EFBFBD><00><00><00><00>d x} x} }d} |j}| |v} | s<>tjd| fd| |f<02><00>tj | <0B><00>d tj
<00><00>vstj |<04><00>rtj |<04><00>nd tj |<07><00>d<12>z} d d | iz}
ttj|
<EFBFBD><00><00><00><00>d x} x} }d} |j}| |v} | s<>tjd| fd| |f<02><00>tj | <0B><00>d tj
<00><00>vstj |<04><00>rtj |<04><00>nd tj |<07><00>d<12>z} d d | iz}
ttj|
<EFBFBD><00><00><00><00>d x} x} }d S)u测试数值类型推断。rZ)g<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?g<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@gffffff
@g<><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>@g@)<02>int_col<6F> float_colc3<00>0K<00>|]}|jdk<00> |V<00><00>dS)r<>Nrrrss rCr<>zITestDataAccessLayer.test_column_type_inference_numeric.<locals>.<genexpr>|s.<00><00><00><00>O<>O<>s<EFBFBD><13><18>Y<EFBFBD>9N<39>9N<39>s<EFBFBD>9N<39>9N<39>9N<39>9N<39>O<>Orwc3<00>0K<00>|]}|jdk<00> |V<00><00>dS)r<>Nrrrss rCr<>zITestDataAccessLayer.test_column_type_inference_numeric.<locals>.<genexpr>}s.<00><00><00><00>S<>S<><13>3<EFBFBD>8<EFBFBD>{<7B>;R<>;R<><13>;R<>;R<>;R<>;R<>S<>Srw<00>numericr<00>z-%(py2)s
{%(py2)s = %(py0)s.dtype
} == %(py5)sr<73>rrr Nr<4E><00>meanr"<00>z2%(py1)s in %(py5)s
{%(py5)s = %(py3)s.statistics
}r$<00>std<74>min<69>max)ryrzrr{r<>r6<00>dtyper.r/r0r1r2r3r4r5<00>
statistics) r9r~rrmr<>r<>r<r=r>r?r@rArBs rC<00>"test_column_type_inference_numericz6TestDataAccessLayer.test_column_type_inference_numericrs<><00><00> <0F>\<5C>&<26><EFBFBD><EFBFBD>2<>2<>2<>
<EFBFBD>
<EFBFBD> <0B> <0B><02>
<1E>b<EFBFBD>!<21>!<21><03><15>/<2F>/<2F>#<23>#<23><07><16>O<>O<>g<EFBFBD>o<EFBFBD>O<>O<>O<>O<>O<><07><18>S<>S<><07><0F>S<>S<>S<>S<>S<> <09>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>)<29>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B> ,<2C>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>*rwc<00><00>tjdgd<02>dzi<01><00>}t|<01><00>}|<02><00><00>}|jd}|j}d}||k}|s<>t jd|fd||f<02><00>dtj <00><00>vst j
|<04><00>rt j |<04><00>ndt j |<05><00>t j |<06><00>d <09>z}d
d |iz} tt j | <09><00><00><00><00>d x}x}}d }
|j}|
|v} | s<>t jd| fd|
|f<02><00>t j |
<EFBFBD><00>dtj <00><00>vst j
|<04><00>rt j |<04><00>ndt j |<06><00>d<10>z}d
d |iz} tt j | <09><00><00><00><00>d x}
x} }d}
|j}|
|v} | s<>t jd| fd|
|f<02><00>t j |
<EFBFBD><00>dtj <00><00>vst j
|<04><00>rt j |<04><00>ndt j |<06><00>d<10>z}d
d |iz} tt j | <09><00><00><00><00>d x}
x} }d S)u测试分类类型推断。rkrhrdr<00> categoricalrr<><00>
status_colrrr N<>
top_valuesr"r<>r$<00>num_categories)ryrzrr{r6r<>r.r/r0r1r2r3r4r5r<>) r9r~rrmr<>r<r=r>r?r@rArBs rC<00>&test_column_type_inference_categoricalz:TestDataAccessLayer.test_column_type_inference_categorical<61>s<00><00> <0F>\<5C> <14>B<>B<>B<>R<EFBFBD>G<>
<EFBFBD> <0B> <0B><02><1E>b<EFBFBD>!<21>!<21><03><15>/<2F>/<2F>#<23>#<23><07><1C>_<EFBFBD>Q<EFBFBD>'<27>
<EFBFBD>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<>0<> 5<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>4<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8<>8rwc<00><<00>tjdtjdd<03><04><00>i<01><00>}t|<01><00>}|<02><00><00>}|jd}|j}d}||k}|s<>tjd|fd||f<02><00>d tj
<00><00>vstj |<04><00>rtj |<04><00>nd tj |<05><00>tj |<06><00>d
<EFBFBD>z}d d |iz} ttj| <09><00><00><00><00>d x}x}}d S)u!测试日期时间类型推断。<E696AD>date<74>
2020-01-01rc<00><01>periodsr<00>datetimerr<><00>date_colrrr N)ryrz<00>
date_rangerr{r6r<>r.r/r0r1r2r3r4r5)
r9r~rrmr<>r<r=r>r?r@s
rC<00>#test_column_type_inference_datetimez7TestDataAccessLayer.test_column_type_inference_datetime<6D>sC<00><00> <0F>\<5C> <12>B<EFBFBD>M<EFBFBD>,<2C><02>;<3B>;<3B>;<3B>
<EFBFBD> <0B> <0B><02><1E>b<EFBFBD>!<21>!<21><03><15>/<2F>/<2F>#<23>#<23><07><1A>?<3F>1<EFBFBD>%<25><08>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>+rwc<00>"<00>tjdttd<02><00><00><00>i<01><00>}t |<01><00>}|<02><00><00>}|jd}|j}t|<05><00>}d}||k}|<08>stj
d|fd||f<02><00>dtj <00><00>vstj t<00><00>rtjt<00><00>nddtj <00><00>vstj |<04><00>rtj|<04><00>ndtj|<05><00>tj|<06><00>tj|<07><00>d <09>z} d
d | iz}
ttj|
<EFBFBD><00><00><00><00>d x}x}x}}d S) u测试示例值数量限制。r!<00>drr]<00><01><=)zS%(py5)s
{%(py5)s = %(py0)s(%(py3)s
{%(py3)s = %(py1)s.sample_values
})
} <= %(py8)srH<00>id_colrIrKrLN)ryrz<00>list<73>rangerr{r6<00> sample_valuesrHr.r/r0r1r2r3r4r5) r9r~rrmr<>rBr=rMrNrOrPs rC<00>test_sample_values_limitz,TestDataAccessLayer.test_sample_values_limit<69>s<><00><00> <0F>\<5C> <10>$<24>u<EFBFBD>S<EFBFBD>z<EFBFBD>z<EFBFBD>"<22>"<22>
<EFBFBD> <0B> <0B><02><1E>b<EFBFBD>!<21>!<21><03><15>/<2F>/<2F>#<23>#<23><07><18><1F><11>#<23><06>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-<2D>-rwc<00><><00>tjttd<01><00><00><00>ttd<01><00><00><00>d<02><02><00>}t |<01><00>}d|i}|<02>|<03><00>}|d}t |<05><00>}d}||k}|s<>tjd|fd||f<02><00>dtj
<00><00>vstj t <00><00>rtj t <00><00>ndtj |<05><00>tj |<06><00>tj |<07><00>d<08>z} d d
| iz}
ttj|
<EFBFBD><00><00><00><00>d x}x}x}}d S) u!测试结果过滤 - DataFrame。<65><E38082>r<><00>datar<61>r<><00>z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} <= %(py7)srH<00>rr<00>py4r <00>assert %(py9)s<>py9N<39>ryrzr<>r<>r<00>_sanitize_resultrHr.r/r0r1r2r3r4r5<00> r9r~r<00>result<6C> sanitizedr<r>rN<00> @py_assert5r@<00> @py_format10s rC<00>test_sanitize_result_dataframez2TestDataAccessLayer.test_sanitize_result_dataframe<6D>s<><00><00> <0F>\<5C><16>u<EFBFBD>S<EFBFBD>z<EFBFBD>z<EFBFBD>"<22>"<22><19>%<25><03>*<2A>*<2A>%<25>%<25>
<EFBFBD>
<EFBFBD> <0B> <0B><02>
<1E>b<EFBFBD>!<21>!<21><03><19>"<22><1C><06><17>(<28>(<28><16>0<>0<> <09> -<2D>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,rwc<00><><00>tjdttd<02><00><00><00>i<01><00>}t |<01><00>}d|di}|<02>|<03><00>}|d}t |<05><00>}d}||k}|s<>tjd|fd||f<02><00>dtj
<00><00>vstj t <00><00>rtj t <00><00>ndtj |<05><00>tj |<06><00>tj |<07><00>d<08>z} d d
| iz}
ttj|
<EFBFBD><00><00><00><00>d x}x}x}}d S) u测试结果过滤 - Series。r!r<>r<>r<>r<>r<>rHr<>r<>r<>Nr<4E>r<>s rC<00>test_sanitize_result_seriesz/TestDataAccessLayer.test_sanitize_result_series<65>ss<00><00> <0F>\<5C> <10>$<24>u<EFBFBD>S<EFBFBD>z<EFBFBD>z<EFBFBD>"<22>"<22>
<EFBFBD> <0B> <0B><02><1E>b<EFBFBD>!<21>!<21><03><19>"<22>T<EFBFBD>(<28>#<23><06><17>(<28>(<28><16>0<>0<> <09> -<2D>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,<2C>,rwc<00><><00>tjdddd<04><05><00>5}|<01>d<06><00>td<07><00>D] }|<01>|<02>d|d z<00>d
<EFBFBD><04><00><00>!|j}d d d <0B><00>n #1swxYwY t j|<03><00>}|jd }d}||k}|sltj d |fd||f<02><00>tj
|<05><00>tj
|<06><00>d<0F>z}dd|iz} ttj | <09><00><00><00><00>d x}x}}tj|<03><00>d S#tj|<03><00>wxYw)u测试大数据集采样。r
r Fr r z id,value
i<EFBFBD><00>,rc<00>
Nrr<00>z%(py1)s == %(py4)s<>r%r<><00>assert %(py6)s<>py6)r)r*r+r<>r'rr,r-r.r/r3r4r5r7r8)
r9r:<00>ir;rrAr>rB<00> @py_format5<74> @py_format7s
rC<00>test_large_dataset_samplingz/TestDataAccessLayer.test_large_dataset_sampling<6E>s<><00><00><16> (<28>c<EFBFBD>&<26><15>Y`<60> a<> a<> a<> <1F>ef<65> <0A>G<EFBFBD>G<EFBFBD>L<EFBFBD> !<21> !<21> !<21><1A>4<EFBFBD>[<5B>[<5B> )<29> )<29><01><11><07><07>1<EFBFBD><0F><0F>q<EFBFBD><12>t<EFBFBD><0F><0F><0F>(<28>(<28>(<28>(<28><19><06>I<EFBFBD>  <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F><><EFBFBD><EFBFBD> <1F> <1F> <1F> <1F> !<21>!<21>0<><19>;<3B>;<3B>C<EFBFBD> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> '<27> <0E>I<EFBFBD>i<EFBFBD> <20> <20> <20> <20> <20><>B<EFBFBD>I<EFBFBD>i<EFBFBD> <20> <20> <20> <20><><EFBFBD>s<00>A A2<03>2A6<07>9A6<07>>BD1<00>1EN)<11>__name__<5F>
__module__<EFBFBD> __qualname__<5F>__doc__rDrQrVrXr<>r<>r<>r<>r<>r<>r<>r<>r<>rqrwrCrr s<><00><00><00><00><00><00>+<2B>+<2B>!<21>!<21>!<21>(!<21>!<21>!<21>$ !<21> !<21> !<21>C<01>C<01>C<01>
%<25>%<25>%<25>4-<2D>-<2D>-<2D> +<2B>+<2B>+<2B>,9<>9<>9<>
,<2C>
,<2C>
,<2C> .<2E> .<2E> .<2E>-<2D>-<2D>-<2D> -<2D> -<2D> -<2D>!<21>!<21>!<21>!<21>!rwrc<00><00>eZdZdZd<02>ZdS)<04>TestDataAccessLayerIntegrationu!数据访问层的集成测试。c <00><> <00>tjgd<01>gd<02>gd<03>tjdd<05><06><00>d<07><04><00>}tjdd d
d <0B> <0C><00>5}|<01>|jd
<EFBFBD> <0A><00>|j}ddd<0E><00>n #1swxYwY tj|<03><00>}|<04> <00><00>}|j
}d}||k}|s<>tj d|fd||f<02><00>dtj<00><00>vstj|<05><00>rtj|<05><00>ndtj|<06><00>tj|<07><00>d<12>z} dd| iz}
t#tj|
<EFBFBD><00><00><00><00>dx}x}}|j}d}||k}|s<>tj d|fd||f<02><00>dtj<00><00>vstj|<05><00>rtj|<05><00>ndtj|<06><00>tj|<07><00>d<12>z} dd| iz}
t#tj|
<EFBFBD><00><00><00><00>dx}x}}d<17>|jD<00><00>} | d} d}| |k} | sltj d| fd| |f<02><00>tj| <0C><00>tj|<08><00>d<1B>z}dd|iz}t#tj|<0F><00><00><00><00>dx} x} }| d} d}| |k} | sltj d| fd| |f<02><00>tj| <0C><00>tj|<08><00>d<1B>z}dd|iz}t#tj|<0F><00><00><00><00>dx} x} }| d } d}| |k} | sltj d| fd| |f<02><00>tj| <0C><00>tj|<08><00>d<1B>z}dd|iz}t#tj|<0F><00><00><00><00>dx} x} }| d!} d"}| |k} | sltj d| fd| |f<02><00>tj| <0C><00>tj|<08><00>d<1B>z}dd|iz}t#tj|<0F><00><00><00><00>dx} x} }t+d#<23>|jD<00><00><00><00>}d$} |j}| |v} | s<>tj d%| fd&| |f<02><00>tj| <0C><00>d'tj<00><00>vstj|<10><00>rtj|<10><00>nd'tj|<07><00>d(<28>z} dd| iz}
t#tj|
<EFBFBD><00><00><00><00>dx} x} }|jd$} d)}| |k} | sltj d| fd| |f<02><00>tj| <0C><00>tj|<08><00>d<1B>z}dd|iz}t#tj|<0F><00><00><00><00>dx} x} }t/j|<03><00>dS#t/j|<03><00>wxYw)*u测试端到端工作流程。rZ)rirjrirj<00>pending)r<>r<><00><>i,<00><>r<>r]r<>)r!rkr(<00>
created_atr
r Fr r )<01>indexNrrnrmrrr r\roc<00>(<00>i|]}|j|j<00><02>Srq)r'r<>rss rC<00>
<dictcomp>zKTestDataAccessLayerIntegration.test_end_to_end_workflow.<locals>.<dictcomp>s<00><00>H<>H<>H<><13><13><18>3<EFBFBD>9<EFBFBD>H<>H<>Hrwr!r<>r<>r<>r<>r<>rkr<>r(r<>r<>c3<00>0K<00>|]}|jdk<00> |V<00><00>dSr<>rrrss rCr<>zJTestDataAccessLayerIntegration.test_end_to_end_workflow.<locals>.<genexpr>s.<00><00><00><00>S<>S<>S<EFBFBD>s<EFBFBD>x<EFBFBD>7<EFBFBD>?R<>?R<>S<EFBFBD>?R<>?R<>?R<>?R<>S<>Srwr<>r"r<>r<>r$gi@)ryrzr<>r)r*<00>to_csvr'rr,r{r|r.r/r0r1r2r3r4r5r}r6r<>r<>r7r8)r9r~r:r;rrmr<r=r>r?r@<00> col_typesrArBr<>r<>r<>s rC<00>test_end_to_end_workflowz7TestDataAccessLayerIntegration.test_end_to_end_workflow<6F>s<><00><00><10>\<5C>!<21>/<2F>/<2F>E<>E<>E<>.<2E>.<2E>.<2E><1C>-<2D> <0C>a<EFBFBD>@<40>@<40>@<40> 
<EFBFBD>
<EFBFBD> <0B> <0B><02><16> (<28>c<EFBFBD>&<26><15>Y`<60> a<> a<> a<> <1F>ef<65> <0E>I<EFBFBD>I<EFBFBD>a<EFBFBD>f<EFBFBD>E<EFBFBD>I<EFBFBD> *<2A> *<2A> *<2A><19><06>I<EFBFBD> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F> <1F><><EFBFBD><EFBFBD> <1F> <1F> <1F> <1F> !<21>!<21>0<><19>;<3B>;<3B>C<EFBFBD><1A>o<EFBFBD>o<EFBFBD>'<27>'<27>G<EFBFBD> *<2A> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C> ,<2C>I<01>H<><07><0F>H<>H<>H<>I<EFBFBD> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> /<2F> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 7<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 2<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<><1D>S<>S<>G<EFBFBD>O<EFBFBD>S<>S<>S<>S<>S<>I<EFBFBD> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 1<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> 8<> <0F>I<EFBFBD>i<EFBFBD> <20> <20> <20> <20> <20><>B<EFBFBD>I<EFBFBD>i<EFBFBD> <20> <20> <20> <20><><EFBFBD>s<00> $A<<03><B<07>B<07>T1W<00>W%N)r<>r<>r<>r<>r<>rqrwrCr<>r<><00>s)<00><00><00><00><00><00>+<2B>+<2B>'!<21>'!<21>'!<21>'!<21>'!rwr<>)r<><00>builtinsr0<00>_pytest.assertion.rewrite<74> assertion<6F>rewriter.rT<00>pandasryr)r7<00>pathlibr<00>src.data_accessrrrr<>rqrwrC<00><module>r<>s<><00><01>'<27>'<27><00><00><00><00><00><00><00><00><00><00><00><00><00> <0A> <0A> <0A> <0A><13><13><13><13><0F><0F><0F><0F> <09> <09> <09> <09><18><18><18><18><18><18>:<3A>:<3A>:<3A>:<3A>:<3A>:<3A>:<3A>:<3A>S!<21>S!<21>S!<21>S!<21>S!<21>S!<21>S!<21>S!<21>l*!<21>*!<21>*!<21>*!<21>*!<21>*!<21>*!<21>*!<21>*!<21>*!rw