zmc
2023-08-08 e792e9a60d958b93aef96050644f369feb25d61b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
U
­ý°dçã
@s~ddlZddlZddlZddlmZddlZddlZddlm    Z    m
Z
m Z m Z m Z ddlmZe d¡ZddlmZddlmZmZmZmZejdd„ƒZejd    d
„ƒZejd d „ƒZejd d„ƒZejdd„ƒZejdd„ƒZ ej! "ddddddœddddœgfdddddœddddœgfg¡dd„ƒZ#ej! "ddddddœddddœgfdddddœddddœgfg¡dd „ƒZ$d!d"„Z%ej! "d#d$d%d&d'd(d)g¡d*d+„ƒZ&ej! "d,d-d.g¡d/d0„ƒZ'ej! "d,d-d1g¡d2d3„ƒZ(d4d5„Z)d6d7„Z*ej! "d8ddg¡ej! "d9ddg¡ej! "d:ddg¡d;d<„ƒƒƒZ+d=d>„Z,d?d@„Z-dAdB„Z.ej! "dCdDdEdDgdEgg¡dFdG„ƒZ/ej! "dCdDdEdDgdEgg¡ej! "dHddg¡dIdJ„ƒƒZ0ej! "dKdLdMg¡ej! "dNdOdPg¡dQdR„ƒƒZ1ej! "dKdMdLg¡ej! "dNdOdPg¡dSdT„ƒƒZ2dUdV„Z3GdWdX„dXƒZ4dYdZ„Z5d[d\„Z6ej! "d]dDd^d_g¡d`da„ƒZ7dbdc„Z8ddde„Z9dfdg„Z:dhdi„Z;djdk„Z<dldm„Z=dndo„Z>ej! "dpdqdrdsg¡dtdu„ƒZ?dS)véN)Údedent)Ú    DataFrameÚ
IndexSliceÚ
MultiIndexÚSeriesÚoption_contextÚjinja2©ÚStyler)Ú_get_level_lengthsÚ_get_trimming_maximumsÚmaybe_convert_css_to_tuplesÚnon_reducing_slicecCs<tddgddggt dgddgg¡t dgd    d
gg¡td S) NééééÚi0Úi1_aÚi1_bÚc0Úc1_aÚc1_b)ÚindexÚcolumnsZdtype)rrÚ from_productÚint©rrú_d:\z\workplace\vscode\pyvenv\venv\Lib\site-packages\pandas/tests/io/formats/style/test_style.pyÚmi_dfs ürcCs t|ddS)Nr©Úuuid_lenr    )rrrrÚ    mi_styler(sr"cCs`|jdd}|jdddœ–|_d|_d|_| d¡| d    d
d œg¡|jd d |jdgd dd|jdd |jdgddd| d¡|j     dg¡}t
  dg|j g¡|_ |  |j¡|jddd|jddd|jddd|jdd |jdd„dd |jdd„dd | td    d gd    d!gg|j |jd"¡| td#d$gd#d%gg|j |jd"¡|S)&NT)ÚdeepcopyZROWZCOL)ÚrowÚcoléZabcdeZcaptÚaúa:v;©ÚselectorÚpropsr©Úaxis)rr©r-Únamesr)rrz class="box"ZmeanÚÚMISSINGr)Úna_repÚ    precisionrr)r3r-rrcSsdS)Nz color: white;r©ÚxrrrÚ<lambda>Bóz mi_styler_comp.<locals>.<lambda>cSsdS)Nz color: black;rr4rrrr6Cr7ÚbÚc©rrZa2Zb2Úc2)Z_copyÚcssr!ÚuuidÚ set_captionÚset_table_stylesÚhideÚset_table_attributesÚdataZaggrrrÚconcatÚstyleÚformatZ format_indexÚ highlight_maxÚapplymap_indexÚset_td_classesrrZ set_tooltips)r"ÚotherrrrÚmi_styler_comp-sF 
 
  ÿÿýÿrJcCsdS)Nú&nbsp;rrrrrÚ blank_valueSsrLcCs*tj d¡tddgtj d¡dœƒ}|S©Nérrr©ÚAÚB)ÚnpÚrandomÚseedrÚrandn©ÚdfrrrrWXs rWcCs.tj d¡tddgtj d¡dœƒ}t|ƒSrM)rRrSrTrrUr
rVrrrÚstyler_s rXzsparse_columns, exp_colsTz colspan="2"r)Ú
is_visibleÚ
attributesÚvalueFr0cCs°ddddœ}ddddœ}| d|¡}|d ¡|ddd ¡ksHt‚|d     ¡|ddd
 ¡kslt‚| ¡|dd    d ¡ksŒt‚| ¡|dd    d
 ¡ks¬t‚dS) NTr0r©rYrZÚ display_valuerrÚheadrrr©Ú
_translateÚitemsÚAssertionError)r"Zsparse_columnsZexp_colsZ    exp_l1_c0Z    exp_l1_c1ÚctxrrrÚtest_mi_styler_sparsify_columnsfs   $$ rdzsparse_index, exp_rowsú rowspan="2"rcCs°ddddœ}ddddœ}| |d¡}|d ¡|ddd ¡ksHt‚|d ¡|ddd ¡kslt‚| ¡|ddd ¡ksŒt‚| ¡|ddd ¡ks¬t‚dS)    NTr0rr\rrÚbodyrr_)r"Z sparse_indexZexp_rowsZ    exp_l1_r0Z    exp_l1_r1rcrrrÚtest_mi_styler_sparsify_index…s   $$ rgc    Cs”tddƒ| ¡}W5QRXtddƒ| ¡}W5QRX||ksHt‚tddƒ| ¡}W5QRXtddƒ| ¡}W5QRX||kst‚dS)Nzstyler.sparse.indexFTzstyler.sparse.columns)rÚto_htmlrb)r"Zhtml1Zhtml2rrrÚtest_mi_styler_sparsify_options¤s     riz3rn, cn, max_els, max_rows, max_cols, exp_rn, exp_cn)édrjrjNNé é)éèréîNNéúr)rrméôNNré})rmrrné
Nrrr)rrmrpNr&rr&)rjrji¼é2rsértcCs0t|||||dd\}}||f||fks,t‚dS)Ngà?)Zscaling_factor)r rb)ZrnZcnZmax_elsZmax_rowsZmax_colsZexp_rnZexp_cnrrrÚtest_trimming_maximum´s ÿ
ruz option, val)ústyler.render.max_elementsrl)ústyler.render.max_rowsrc    Cs‚tt d¡ dd¡ƒ}t||ƒ|j dd¡}W5QRXt|ddƒdksRt‚t|dƒd    ksft‚t|ddƒdks~t‚dS)
Néxé<rTr^rrrfr©    rrRÚarangeÚreshaperrDr`Úlenrb©ÚoptionÚvalrWrcrrrÚtest_render_trimming_rowsÆs      r)ústyler.render.max_columnsrc    Cs‚tt d¡ dd¡ƒ}t||ƒ|j dd¡}W5QRXt|ddƒdksRt‚t|dƒdksft‚t|ddƒdks~t‚dS)    NérrrTr^rrrfrzr~rrrÚtest_render_trimming_cols×s      r„c    Csôt ddgdddgg¡}tt d¡ dd¡||d}tddƒ|j d    d    ¡}W5QRXt    |d
d ƒd kspt
‚d di  ¡|d
d d   ¡ks”t
‚ddi  ¡|d
d d  ¡ks¸t
‚ddi  ¡|d
dd  ¡ksÜt
‚t    |d
ƒdksðt
‚dS)Nrrré$rl©rrrvrTrfrr&rZreÚclasszdata row0 col_trimzdata row_trim col_trim) rrrrRr{r|rrDr`r}rbra©ÚmidxrWrcrrrÚtest_render_trimming_miès $$$rŠcCs@ttjdgddggddgdd}tdƒ}||j ¡ks<t‚dS)NrPrrÚone©r/©rz©    >
      <thead>
        <tr>
          <th class="index_name level0" >&nbsp;</th>
          <th class="index_name level1" >one</th>
        </tr>
      </thead>
    )rrrrrDrhrb)rWÚexpectedrrrÚtest_render_empty_miõs
"ÿ rÚ comprehensiveÚrenderr#c sN|r|n|}d|_|r t |¡nt |¡}||k    s6t‚|rB| ¡dddddddg‰|s”‡fd    d
„|jDƒD]$}tt||ƒƒtt||ƒƒkslt‚qln¶d d d dddddddddg ‰ˆD]$}tt||ƒƒtt||ƒƒks´t‚q´‡‡fdd
„|jDƒD]X}t||ƒdkr(tt||ƒƒtt||ƒƒksHt‚qðtt||ƒƒtt||ƒƒksðt‚qðdS)Nr&Ú cellstyle_mapÚcellstyle_map_columnsÚcellstyle_map_indexÚtemplate_latexÚ template_htmlÚtemplate_html_styleÚtemplate_html_tablecs g|]}t|ƒs|ˆkr|‘qSr©Úcallable©Ú.0r'©ÚexclrrÚ
<listcomp>sztest_copy.<locals>.<listcomp>rBrrr!r=ÚcaptionÚcell_idsÚ hide_index_Ú hide_columns_Úhide_index_namesÚhide_column_namesÚtable_attributescs(g|] }t|ƒs|ˆkr|ˆkr|‘qSrr™r›©ržZshallowrrrŸ1s
þ)r!Úcopyr#rbrhÚ__dict__ÚidÚgetattr)rr‘r#r"rJrXÚs2Úattrrr§rÚ    test_copysL  ù    $ô" þ
$r®c sþ|}| ¡t|j|jd}dddddddd    d
d d d dg ‰‡fdd„|jDƒD]\}t||ƒt||ƒk}t|dƒrŠt|ƒdkrŠt|ƒrªt    ‚qNt|dƒr¢t|ƒdkr¢qN|rNt    ‚qN| 
¡dd„|jDƒD]4}t||ƒt||ƒk}t|dƒrðt|ƒsÄn|sÄt    ‚qÄdS)N©r=rBrrr=r!r¡r’r“r”r•r–r—r˜cs g|]}t|ƒs|ˆks|‘qSrr™r›rrrrŸUsztest_clear.<locals>.<listcomp>Ú__iter__rcSsg|]}t|ƒs|‘qSrr™r›rrrrŸ`s) Ú_computer
rBr=r©r«Úhasattrr}ÚallrbÚclear)rJrXZ
clean_copyr­ÚresrrrÚ
test_clear<s8ó
r¶cCs¾ddddddddg}|D]@}t||ƒt||ƒk}t|d    ƒrPt|ƒd
krPt|ƒrn|rt‚q| ¡}| |¡}|D]@}t||ƒt||ƒk}t|d    ƒr¨t|ƒd
kr¨t|ƒspn|spt‚qp| ¡dS) NÚ_todor¢r¤r£r¥r¦Ú table_stylesr<r°r)r«r²r}r³rbÚexportÚuserh)rJr"Z    exp_attrsr­Úcheckr¹ÚusedrrrÚ test_exportes2ø
ÿ
ÿÿÿ
*r½c    Csdd}tjt|d|jddddW5QRXd}tjt|d|jddd    d
œd W5QRXdS) Nz4`subset` and `level` cannot be passed simultaneously©ÚmatchrZ    somethingzsomething else)r-ÚsubsetÚlevelz4`level` must be of type `int`, `str` or list of suchrr)ÚbadÚtype©r-rÁ)ÚpytestÚraisesÚ
ValueErrorr@)r"ÚmsgrrrÚtest_hide_raisess rÉrÁrr‹cCsddgddg|j_|j_|jd|d dd¡}t|ddƒd    ksHt‚t|dd
ƒd    ks`t‚t|dd ƒd ksxt‚|dd dd st‚|dd d
d r¨t‚|dddd sÀt‚|ddd
d rØt‚|dd
dd sðt‚|dd
d
d r
t‚dS)NÚzeror‹rrÄFTr^rrrrrrYrf)rr/rr@r`r}rb)r"rÁrcrrrÚtest_hide_index_level‰srËr/cCsRddg|j_|rddg|j_|jd|d dd¡}t|dƒ|rDdnd    ksNt‚dS)
NrÊr‹rrÄTFr^rr)rr/rr@r`r}rb)r"rÁr/rcrrrÚtest_hide_columns_level™s
  rÌÚmethodÚapplymapÚapplyr-rrcCsªtddgddgdœddgd}dd„d    d„d
œ}t|j|›d ƒ|||d }t|jƒdks`t‚tt|d |›ƒƒdks|t‚| ¡ddgi}t|d |›ƒ|ks¦t‚dS)NrrrOÚCÚDrcSsdd„|DƒS)NcSs$g|]}d|ksd|krdnd‘qS)rPrÐú    attr: valr0r©rœÚvrrrrŸ©sz;test_apply_map_header.<locals>.<lambda>.<locals>.<listcomp>r©Úsrrrr6©r7z'test_apply_map_header.<locals>.<lambda>cSsd|ksd|krdSdS)NrPrÐrÒr0r©rÔrrrr6ªr7©rÏrÎÚ_indexr,Úctx_©rr©r­r€)rr«rDr}r·rbr±)rÍr-rWÚfuncÚresultrŽrrrÚtest_apply_map_header£sþÿrßcCsXdd„dd„dœ}t||›dƒ|||d ¡}ddgi}t|d    |›ƒ|ksTt‚dS)
NcSsdd„|DƒS)NcSsg|]}d|krdnd‘qS)r8ú
attr: val;r0rrÓrrrrŸ¿sz>test_apply_map_header_mi.<locals>.<lambda>.<locals>.<listcomp>rrÕrrrr6¿r7z*test_apply_map_header_mi.<locals>.<lambda>cSsd|kr dSdS)Nr8rÒr0rr×rrrr6Àr7rØrÙr,©rrrÜrÚ)r«r±rb)r"rÍr-rÝrÞrŽrrrÚtest_apply_map_header_miºs þ 
râc    Cs4tjtdd|jdd„dd ¡W5QRXdS)Nz+No axis named bad for object type DataFramer¾cSsdS)Nràrr×rrrr6Êr7z.test_apply_map_header_raises.<locals>.<lambda>rÂr,)rÅrÆrÇrGr±©r"rrrÚtest_apply_map_header_raisesÇsräc@seZdZdd„Zdd„Zdd„Zdd„Zd    d
„Zd d „Zd d„Z    dd„Z
dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd „Zej d!d"d#g¡d$d%„ƒZej d&d'd(g¡ej d)d'd(g¡d*d+„ƒƒZej d,ed-d-…ed-d-…d.gfed#gd-d-…fed#gd.gfed-d/…d.d0gfg¡ej d!d"d#g¡d1d2„ƒƒZej d,ed-d-…ed-d-…d.gfed#gd-d-…fed#gd.gfed-d/…d.d0gfg¡d3d4„ƒZej d,ed-d-…ed5fed-d-…ed-d-…d.ffed-d-…ed-d-…d.d6gffeed7d-d-…feed-d-…d#fd-d-…feed-d-…d#d8gfd-d-…fed-d-…d5fed7d-d-…fg¡d9d:„ƒZd;d<„Zej d=d>d?d@g¡dAdB„ƒZdCdD„ZdEdF„ZdGdH„Z dIdJ„Z!dKdL„Z"dMdN„Z#dOdP„Z$dQdR„Z%dSdT„Z&dUdV„Z'dWdX„Z(dYdZ„Z)d[d\„Z*d]d^„Z+d_d`„Z,dadb„Z-dcdd„Z.ej d!d&d)g¡dedf„ƒZ/dgdh„Z0didj„Z1dkdl„Z2dmdn„Z3dodp„Z4dqdr„Z5dsdt„Z6dudv„Z7dwdx„Z8dydz„Z9d{d|„Z:ej d}e;d~dge<j=d-ggd.d0gd€dgd‚e;dggd0gd€gd‚e;ddƒggd0d6gd€gd‚g¡d„d…„ƒZ>d†d‡„Z?dˆd‰„Z@dŠd‹„ZAej dŒd#ddŽddg¡d‘d’„ƒZBej dŒd“d”d-g¡d•d–„ƒZCej d—ed-d-…d-d-…fed-d-…d#fed#d-d-…fed#gd#gfed#d#gfed#gd#fed#ed˜eDd-d-d-ƒd"d#ge< Ed"d#g¡eFd"d#gƒg ¡d™dš„ƒZGej d›eHeFe<jEg¡dœd„ƒZIdždŸ„ZJej d,ed-d-…d-d-…fed-d-…ed€gfed-d-…ed€gd gffed-d-…ed€d d-d-…ffed-d-…ed€d-d-…d¡ffed-d-…ed-d-…d d¡ffed-d-…ed€d d¢gd-d-…ffed-d-…ed€d d¢d£gd-d-…ffed-d-…ed€d d¢d£gd¡ffeed¤gd-d-…feed¤gd¥gfd-d-…feed¤d¥d-d-…fd-d-…feed¤d-d-…d¦fd-d-…feed-d-…d¥d¦fd-d-…feed-d-…d¥d¦d§gfd-d-…feed-d-…d¥d¦d§d£gfd-d-…feed¤d¥d¦d§d£gfd-d-…feed-d-…d¥d¦fed€d d-d-…ffg¡d¨d©„ƒZKd-S)ªÚ
TestStylerc    Cs0d}tjt|dtdddgƒW5QRXdS)Nz&``data`` must be a Series or DataFramer¾rrr)rÅrÆÚ    TypeErrorr
©ÚselfrÈrrrÚtest_init_non_pandasÎszTestStyler.test_init_non_pandascCs$ttddgƒƒ}|jjdks t‚dS)Nrr)r
rrBÚndimrb)rèrÞrrrÚtest_init_seriesÓszTestStyler.test_init_seriescCs | ¡dS©N)Ú _repr_html_©rèrXrrrÚtest_repr_html_ok×szTestStyler.test_repr_html_okc    Cs:d| ¡kst‚tddƒd| ¡ks,t‚W5QRXdS)NZtex2jax_ignorezstyler.html.mathjaxF)rírbrrîrrrÚtest_repr_html_mathjaxÚs z!TestStyler.test_repr_html_mathjaxcCs6| tdddgiƒ¡dgdgdœ}|j|ks2t‚dS)NrPú
color: redú color: blue©ÚcolorÚred©rôÚblue©rÛ©rr)Ú _update_ctxrrcrb)rèrXrŽrrrÚtest_update_ctxászTestStyler.test_update_ctxcCs>tdddgiƒ}| |¡ddgddgdœ}|j|ks:t‚dS)    NrPzcolor: red; foo: barzcolor:blue ; foo: baz;ró©ÚfooÚbarrö)rýÚbazrø)rrúrcrb)rèrXÚattrsrŽrrrÚ/test_update_ctx_flatten_multi_and_trailing_semiæs 
þz:TestStyler.test_update_ctx_flatten_multi_and_trailing_semicCs6tdddgiƒ}dd„}t|dd |¡}| ¡dS)NrPrrcSstddg|jdS)Nrñrò©Úname©rrr4rrrr6ñr7z(TestStyler.test_render.<locals>.<lambda>ÚABr¯©rr
rÏrh©rèrWrDrÖrrrÚ test_renderïszTestStyler.test_rendercCs8t|ddjdd„dgd}| ¡d| ¡ks4t‚dS)Nrr cSsdS©Nú color: red;rr4rrrr6ør7z1TestStyler.test_multiple_render.<locals>.<lambda>rP©rÀzO<style type="text/css">
#T__row0_col0, #T__row1_col0 {
  color: red;
}
</style>)r
rÎrhrb©rèrWrÖrrrÚtest_multiple_renderös ÿÿzTestStyler.test_multiple_rendercCs>tƒ}t|ƒ}| ¡tdgdj ¡tdgdj ¡dS)Nr'©rr)rr
rhrD)rèZempty_dfÚesrrrÚtest_render_empty_dfsÿs
z TestStyler.test_render_empty_dfscCs6tdddgiƒ}dd„}t|dd |¡}| ¡dS)NrPrrcSstddg|jdS)Nzcolor: red; border: 1pxzcolor: blue; border: 2pxrrr4rrrr6 sÿz/TestStyler.test_render_double.<locals>.<lambda>rr¯rrrrrÚtest_render_double    szTestStyler.test_render_doublecCs€tdddgiƒ}|jjddd ¡j}ddg}||d    œ}| ¡| ¡ksLt‚t| ¡| ¡ƒD]\}}t    |ƒt    |ƒks^t‚q^dS)
NrPrrÚwhiteÚ10px)rôÚsize©rôr)rrrø)
rrDÚset_propertiesr±rcÚkeysrbÚzipÚvaluesÚsorted)rèrWrÞrÔrŽZv1Zv2rrrÚtest_set_propertiess
zTestStyler.test_set_propertiescCsDtdddgiƒ}|jjtddd ¡j}ddgi}||ks@t‚dS)    NrPrr)rrPr)rÀrôrÛr)rrDrrr±rcrb©rèrWrÞrŽrrrÚtest_set_properties_subsets
ÿ
z%TestStyler.test_set_properties_subsetcCsrtddgddgddgdœƒ}|j dd¡}t|d    ƒdks>t‚d
d |d|d œ}| ¡|d    d d  ¡ksnt‚dS)Nrrrrr&rl©rPrQrÐTr^z blank level0Úth©r‡rÃr[rYr]r)rrDr`r}rbra)rèrLrWrÞrŽrrrÚ$test_empty_index_name_doesnt_display&sûz/TestStyler.test_empty_index_name_doesnt_displaycCsdtddgddgddgdœƒ}| d¡j d    d    ¡}d
d dd    dd œ}| ¡|d dd ¡ks`t‚dS)Nrrrrr&rlrrPTúindex_name level0rr r^r)rÚ    set_indexrDr`rarbrrrrÚtest_index_name4sûzTestStyler.test_index_namecCs$tddddgiƒ}|j dd¡dS)NrrrrT)rrDr`)rèrWrrrÚtest_numeric_columnsAszTestStyler.test_numeric_columnscCsàtddgddgdœƒ}dd„}|jj|dd}t|jƒdks@t‚t|jƒdksRt‚| ¡dgdgdgdgdœ}|j|ks~t‚|jj|dd}d    gdgd    gdgdœ}| ¡|j|ksºt‚|j |¡}| ¡|j|ksÜt‚dS)
NrrrOcs‡fdd„ˆDƒS)Ncsg|]}dˆ ¡›‘qS)zval: )ÚmaxrÓr4rrrŸIsz@TestStyler.test_apply_axis.<locals>.<lambda>.<locals>.<listcomp>rr4rr4rr6Ir7z,TestStyler.test_apply_axis.<locals>.<lambda>r,)r€Ú1)rÛ©rrrùrá)r€Ú0)rrDrÏr}r·rbrcr±)rèrWÚfrÞrŽrrrÚtest_apply_axisGs.üü zTestStyler.test_apply_axisr-rrcCsætddgddggddgddgd}dd    „}|jj||d
 ¡j}|d d gksRt‚|d||fd gkslt‚d d    „}|jj||d
 ¡j}|ddgksœt‚|d d gks®t‚|d||fd gksÈt‚||d|fdgksât‚dS)NrrrrÚXÚYr:cSstdgdgdS)Nr
r-r©rrÕrrrr6ir7z5TestStyler.test_apply_series_return.<locals>.<lambda>r,rárócSstddgddgdS)Nr
z color: blue;r-r,rr.rÕrrrr6or7rÛrö©rrDrÏr±rcrb)rèr-rWrÝrÞrrrÚtest_apply_series_returncs"z#TestStyler.test_apply_series_returnrFTrcsÎtddgddggddgddgd}|r.ddgndg}|r@ddgndg}td||d‰|jj‡fd    d
„dd  ¡j}|d d gks„t‚|dd gk|ksšt‚|dd gk|ks°t‚|dd gk|oÂ|ksÊt‚dS)Nrrrrr,r-r:r
csˆSrìrr4©Z    df_stylesrrr6~r7z8TestStyler.test_apply_dataframe_return.<locals>.<lambda>r,rárór(rùrÛr/)rèrrrWÚidxsÚcolsrÞrr1rÚtest_apply_dataframe_returnvs"z&TestStyler.test_apply_dataframe_returnÚslice_NrPrrQcsNddd„}ˆjj||ˆdd ¡j}‡‡fdd„tˆjƒDƒ}||ksJt‚dS)    NrþcSstd|›|j|jdS)Núcolor: )rr)rrr)r5rôrrrÚh‘sz'TestStyler.test_apply_subset.<locals>.hrÿ)r-rÀrôcsPi|]H\}}tˆjƒD]4\}}|ˆjˆjkr|ˆjˆjkr||fdg“qqS©)rôrÿ©Ú    enumeraterÚlocr©rœÚrr$r9r%©rWr5rrÚ
<dictcomp>•s ýz0TestStyler.test_apply_subset.<locals>.<dictcomp>)rþ)rDrÏr±rcr:rrb)rèr5r-rWr7rÞrŽrr>rÚtest_apply_subset…s
 þzTestStyler.test_apply_subsetcsDˆjjdd„ˆd ¡j}‡‡fdd„tˆjƒDƒ}||ks@t‚dS)NcSsdS)Nz
color:baz;rr4rrrr6¨r7z1TestStyler.test_applymap_subset.<locals>.<lambda>r csPi|]H\}}tˆjƒD]4\}}|ˆjˆjkr|ˆjˆjkr||fdg“qqSr8r9r<r>rrr?©s ýz3TestStyler.test_applymap_subset.<locals>.<dictcomp>)rDrÎr±rcr:rrb)rèr5rWrÞrŽrr>rÚtest_applymap_subsets
 þzTestStyler.test_applymap_subset)r5rPrÐ)r'rrc    Csøt|dtƒr@t|ddtƒr@d|ddkr@tjtdd}nHt|dtƒr€t|ddtƒr€d|ddkr€tjtdd}nt ¡}t     dd    gdd
gg¡}t     d d gd dgg¡}t
t j   dd¡||d}||jjdd„|d ¡W5QRXdS)NéÿÿÿÿrÐr¾rrrÚ3r'r8rr5ÚyrPrQrr†cSsdSr    rr4rrrr6Õr7z<TestStyler.test_applymap_subset_multiindex.<locals>.<lambda>r )Ú
isinstanceÚtupleÚlistrÅrÆÚKeyErrorÚ
contextlibÚ nullcontextrrrrRrSZrandrDrÎrh)rèr5rcÚidxr%rWrrrÚtest_applymap_subset_multiindex±s( ÿþý ÿþýz*TestStyler.test_applymap_subset_multiindexcCs¨t ddddgddddgg¡}tddgddgg|ddgd}tdd    ddgd    dddggd
d g|d }tdd…tdd…dd…ff}d d„}|j||jj||ddS)Nrrr'r8ú%ú#r0)ÚlevelsÚcodesr/rBZhelloZworldr:cSs|dkr dnd}d|›S)NrrõZblackr6r)r€rôrrrÚcolor_negative_redãszKTestStyler.test_applymap_subset_multiindex_code.<locals>.color_negative_redr )rRÚarrayrrrr;rDrÎ)rèrPrrWZ
pct_subsetrQrrrÚ$test_applymap_subset_multiindex_code×sÿÿ 
z/TestStyler.test_applymap_subset_multiindex_codeÚ    stylefuncZbackground_gradientrþZ text_gradientcCsPtddgddggddgd}t|j|ƒƒ}| ¡t|jƒdd    d
d hksLt‚dS) NrrrrFTrrÛr(rùrá)rr«rDr±Úsetrcrb)rèrTrWZstyledrrrÚtest_subset_for_boolean_colsêsþûz'TestStyler.test_subset_for_boolean_colscCsbtdddgiƒ}|j}dgdgdœ|_| dd¡d}dgd    gd
œdgd gd
œg}||ks^t‚dS) NrPrrró)r0r0røTÚ    cellstyleÚ    row0_col0©r+Ú    selectorsÚ    row1_col0©rrDrcr`rb©rèrWrÖrÞrŽrrrÚ
test_emptyús  þzTestStyler.test_emptycCsXtdddgiƒ}|j}dgdgdœ|_| dd¡d}dgdd    gd
œg}||ksTt‚dS) NrPrrrórøTrWrXr[rYr\r]rrrÚtest_duplicatesÿzTestStyler.test_duplicatecCsltddgddggddgd}t|dd dd¡}|d    d
d d dksLt‚|d    d
d d dksht‚dS)Ngš™™™™™ñ?g333333ó?rPrQrZNA)r2Trfrrr]r)rr
r`rb©rèrWrcrrrÚtest_init_with_na_repsz TestStyler.test_init_with_na_repcCsZt|dd}| ¡}td|kd|kgƒs,t‚|j}| d¡}||ksHt‚|jdksVt‚dS)Nrý)r r rÿ)r
rhr³rbrDr>r ©rèrWrXrÞrrrÚ test_captions 
 zTestStyler.test_captioncCsNt|dd}| ¡}d|ks t‚|j}| d¡}||ks<t‚|jdksJt‚dS)NZabc123r¯Zaaa)r
rhrbrDZset_uuidr=rbrrrÚ    test_uuid#s  
 zTestStyler.test_uuidcCs`tddddgddddgd    œƒ}|jjd
d }d
|ks8t‚t d |¡}t |¡jt    |ƒks\t‚dS) Nrrr&rlrrrké©r'r8Útestr¯z
id="(.*?)")
rrDrhrbÚreÚfindallrRÚuniquerr})rèrWrÞÚidsrrrÚtest_unique_id-s
  zTestStyler.test_unique_idcCsœddgdœg}t||d}d | ¡ ¡¡}d|ks8t‚|j}| |¡}||ksTt‚|j|ksbt‚dddœg}|j |¡}d | ¡ ¡¡}d|ks˜t‚dS)Nrrür))r¸ú zth { foo: bar; }zfoo:bar;)r
ÚjoinrhÚsplitrbrDr?r¸)rèrWrDrXrÞrrrÚtest_table_styles5s  
   zTestStyler.test_table_stylescCsV|j dddœdddœg¡ dd¡d}|dd    gdœd
d    gdœdd gdœgksRt‚dS) Núth,tdz
color:red;r)Útrz color:green;Tr¸rróÚtd)rôÚgreen©rDr?r`rbr`rrrÚtest_table_styles_multipleFsþÿûû
 
 
ýz%TestStyler.test_table_styles_multiplecCsN|j dddgdœgi¡ dd¡d}ddgdœddgdœg}||ksJt‚dS)    NrQrq)z border-leftz2px solid blackr)Tr¸zth.col1ztd.col1rurrrrÚ)test_table_styles_dict_multiple_selectorsSs
ÿÿÿúú    
 
þz4TestStyler.test_table_styles_dict_multiple_selectorscCs@ddg}tdƒ|kst‚tdƒ|ks(t‚g}tdƒ|ks<t‚dS)Nrf)r9zd ez
a:b;c:d e;za: b ;c:  d e  r0)r rb)rèrŽrrrÚ test_maybe_convert_css_to_tuplesds
z+TestStyler.test_maybe_convert_css_to_tuplesc    Cs*d}tjt|dtdƒW5QRXdS)Nz6Styles supplied as string must follow CSS rule formatsr¾Úerr)rÅrÆrÇr rçrrrÚ$test_maybe_convert_css_to_tuples_errksz/TestStyler.test_maybe_convert_css_to_tuples_errcCsDd}t||d}| ¡}d|ks$t‚|j |¡ ¡}d|ks@t‚dS)Nzclass="foo" data-bar)r¦)r
rhrbrDrA)rèrWrZrXrÞrrrÚtest_table_attributesps   z TestStyler.test_table_attributescCsDdd„}tddgddggƒjj|dd ¡j}|dd    gks@t‚dS)
NcSs$tt || ¡kdd¡|j|jdS)Nrñr0r:)rrRÚwherer&rrr4rrrr*zs
ýz%TestStyler.test_apply_none.<locals>.frrrrr,rárór/)rèr*rÞrrrÚtest_apply_noneys&zTestStyler.test_apply_nonecCsF|j ¡}| d¡dkst‚|j ¡ ¡}| d¡t|jƒksBt‚dS)NrNr)rDrhÚcountrbrFr}r)rèrWrÞrrrÚ    test_trim„s
zTestStyler.test_trimcCsddd„}dd„}|}| |¡j|dd ¡ ¡| ¡}|j}| |¡|j|jksXt‚| ¡dS)NcSs|dkr dSdS)Nrrñròrr4rrrr6Œr7z(TestStyler.test_export.<locals>.<lambda>cSs|dkrd|›Sd|›S)Nrr6r)r5Úzrrrr6r7r8)r€)    rÎrFr±r¹rDrºr·rbrh)rèrWrXr*ÚgZstyle1rÞZstyle2rrrr½‹s
zTestStyler.test_exportc    Cs†tddgddggddgddgd    }d
}tjt|d |j d d „¡W5QRXd}tjt| d¡d |j dd „¡W5QRXtjt| d¡d |j dd „¡W5QRXtjt| d¡d |jjdd „ddW5QRXtjt| d¡d |jjdd „ddW5QRXtjt| d¡d |jjdd „ddW5QRXd}tjt|d |jjdd „ddW5QRXdS)NrrrrrPrQr,r-r:z4resulted in the apply method collapsing to a Series.r¾cSsdS)Nr5rr4rrrr6›r7z1TestStyler.test_bad_apply_shape.<locals>.<lambda>zcreated invalid {} labelsrcSsdgS©Nr0rr4rrrr6Ÿr7cSs ddddgSr‚rr4rrrr6¢r7cSstddgddgdS)Nr(r0rPrÐrr.r4rrrr6¥r7rr,rcSs
dddgSr‚rr4rrrr6¨r7cSstddgddgdS)Nr(r0r,ÚZrr.r4rrrr6«r7z!returned ndarray with wrong shapecSst dgdgg¡Sr‚)rRrRr4rrrr6¯r7)rrÅrÆrÇrDÚ_applyrE)rèrWrÈrrrÚtest_bad_apply_shape–s$"zTestStyler.test_bad_apply_shapec    CsNdd„}tddgddggƒ}d}tjt|d|jj|dd    W5QRXdS)
NcSsdSr‚rr4rrrr*²sz+TestStyler.test_apply_bad_return.<locals>.frrrrzOmust return a DataFrame or ndarray when passed to `Styler.apply` with axis=Noner¾r,)rrÅrÆrærDr„)rèr*rWrÈrrrÚtest_apply_bad_return±s ÿz TestStyler.test_apply_bad_returnc    sZ‡fdd„}tddgddggƒ}dˆ›d}tjt|d    |jj|dd
W5QRXdS) NcstfˆddgiŽS)NrÂÚlabels)rr4r,rrr*¿sz+TestStyler.test_apply_bad_labels.<locals>.frrrrzcreated invalid z labels.r¾r,)rrÅrÆrÇrDr„)rèr-r*rWrÈrr,rÚtest_apply_bad_labels½s
  z TestStyler.test_apply_bad_labelsc Cs„t ddgdddgg¡}dddddddddœ}t|dd    d
}t ||¡ddddddddddddd œ }t|d d    d
}t ||¡dS) Nr'r8rrrr)rÛ©rrrùrá©rr©rr©rr©rr&Trj©ÚsparsifyÚ    max_index) rÛr(©rrr‰©rr©rr&rùrárŠr‹rŒrF)rrr ÚtmÚassert_dict_equal©rèrrŽrÞrrrÚtest_get_level_lengthsÇs6ø
 ôz!TestStyler.test_get_level_lengthsc    Cs€t ddddgddddgg¡}ddddddddœ}t|ddd    }t ||¡ddddddddd
œ}t|d dd    }t ||¡dS) Nrrr'r8Úd)rÛr‘r‰rùrárŠr‹TrjrŽ)rÛr(r‘r‰rùrárŠr‹F©rÚ from_arraysr r”r•r–rrrÚ test_get_level_lengths_un_sortedçs,ù     ø
z+TestStyler.test_get_level_lengths_un_sortedcCs˜tdddgitjddgddggddgdd    }|j d
d
¡}|d d}d dd
d œddd
d œd|d
d œg}t|ƒD] \}}| ¡|| ¡ksrt‚qrdS)NrPrrr'rÚ idx_level_0Ú idx_level_1rŒrTr^r"©r‡r]rYzindex_name level1z
blank col0)rrršrDr`r:rarb)rèrLrWrÞr^rŽÚiÚ expected_dictrrrÚtest_mi_sparse_index_namess0
ÿþ ýýýõz%TestStyler.test_mi_sparse_index_namesc        CsÜtt d¡ dd¡tjddddgddddggdd    gd
tjd d d d gddddggd dgd
d}t|dd dd¡}dD]^}|d|}d|ddœd|›d|›ddœg}t|ƒD] \}}|     ¡||     ¡ks´t
‚q´qxdS)Nérr'r8rrrrœrrŒZC1ZC2Zcolnam_0Zcolnam_1r:F)r¡Tr(r^Zblankržzindex_name levelZcolnam_) rrRr{r|rršr
r`r:rarb)    rèrLrWrÞrÁr^rŽrŸr rrrÚtest_mi_sparse_column_names s2þÿú
 ýýú z&TestStyler.test_mi_sparse_column_namescCs^|jdd dd¡}t|dƒdks(t‚d|j_|jjdd dd¡}t|dƒdksZt‚dS)Nrr,Tr^rZ    some_namer)r@r`r}rbrrrD)rèrWrXrcrrrÚtest_hide_column_headers>s
z#TestStyler.test_hide_column_headerscCsF|j dd¡}|dddds&t‚|dddds>t‚|jjdd dd¡}|ddddrlt‚|ddddr„t‚| d¡j dd¡}|dddds°t‚t|dƒd    ksÄt‚|ddddsÜt‚| d¡jjdd dd¡}|ddddrt‚t|dƒd
ks(t‚|ddddrBt‚dS) NTrfrrYr^rr,rPrr)rDr`rbr@r#r})rèrWrcÚctx2Zctx3Zctx4rrrÚtest_hide_single_indexGsz!TestStyler.test_hide_single_indexcCstddgddgdœtjddgddggddgdd    }|j d
d
¡}|d ddd sZt‚|d ddd srt‚t|d dƒdksŠt‚|jjdd d
d
¡}|d ddd r¸t‚|d ddd rÐt‚t|d dƒdksèt‚|d ddd rt‚dS)NrrrOr'rrœrrŒrTrfrYr^rrr,r)rrršrDr`rbr}r@)rèrWZctx1r¥rrrÚtest_hide_multiindex\s ÿþzTestStyler.test_hide_multiindexcCs|j dd¡}|dddds&t‚|dddddksBt‚|ddddsZt‚|ddddd    ksvt‚|d
dddsŽt‚|d
ddds¦t‚|jjdd d  dd¡}|ddddrÖt‚|d
dddrît‚|d
dddst‚|jjdd    gd d  dd¡}|ddddr>t‚|ddddrXt‚|d
dddrrt‚|d
dddrŒt‚dS) NTr^rrrYr]rPrrQrfrr,)rDr`rbr@r`rrrÚtest_hide_columns_single_levelss z)TestStyler.test_hide_columns_single_levelcCsîtjddgddggddgd}tjddgddggdd    gd}tdd
gd d gg||d }|j dd¡}|ddd
ds|t‚|ddd
ds”t‚|ddd ddks°t‚|ddddsÈt‚|ddd
dsàt‚|ddd
ddksüt‚|ddd dst‚|ddd ddks4t‚|jjddd dd¡}|ddd
drft‚|ddd
dr€t‚|ddd
dršt‚|dddds´t‚|jjdgdd dd¡}|ddd
drèt‚|ddd dst‚|ddd
drt‚|ddd
dr6t‚|ddd dsPt‚|ddd ddksnt‚|jjdgddjdd dd¡}|ddddrªt‚t|ddƒd ksÄt‚|ddddsÞt‚|ddddsøt‚|ddd
drt‚|ddd dr,t‚|ddd
dsFt‚|ddd
ddksdt‚|jjddd dd¡}|dgksŽt‚|jjddd dd¡}dD]>}d|dd|dksÌt‚|dd|dsªt‚qªdS)Nr'rrrœrrŒr8Z col_level_0Z col_level_1rrrr:Tr^rYr]r'rfrCÚ4rr,)r8r)r8rr)r'r)rrrrZrow1r‡)rršrrDr`rbr@r})rèÚi1Úi2rWrcrŸrrrÚ#test_hide_columns_index_mult_levelsŠsZÿÿ"z.TestStyler.test_hide_columns_index_mult_levelscCsbdd„}|jj|ddd}d| ¡ks*t‚dd„}|j}|j|d    fd
d d }|d
d |fks^t‚dS) NcSs| d|›d|›¡S)NzDataframe with a = z     and b = )r>)rXr'r8rrrÚset_caption_from_templateÇsz7TestStyler.test_pipe.<locals>.set_caption_from_templaterPrQ)r8zDataframe with a = A and b = BcSs
|||fSrìr)r'r8rXrrrr*ÎszTestStyler.test_pipe.<locals>.frXrrrf)rDÚpiperhrb)rèrWr­rXr*rÞrrrÚ    test_pipeÆszTestStyler.test_pipecCsBtdggd}t|ddd}| ¡| ¡}| d¡dks>t‚dS)Nr©rBÚ_F)r=r¡z<td class="data row0 col0" >rB©rr
rhÚfindrb)rèrWrXrÖrrrÚtest_no_cell_idsÕs
zTestStyler.test_no_cell_idsÚclassesr0z
test-classr'r8©rBrrZunusedcCs¶tddgddggddgddgd    }t|dd
d  |¡ ¡}d |ksFt‚d |ksRt‚d|ks^t‚d|ksjt‚t|ddd  |¡ ¡}d|ksŽt‚d|ksšt‚d|ks¦t‚d|ks²t‚dS)NrrrrrPrQr'r8r¶F©r!r¡z"<td class="data row0 col0" >0</td>z-<td class="data row0 col1 test-class" >1</td>z"<td class="data row1 col0" >2</td>z"<td class="data row1 col1" >3</td>Tz4<td id="T__row0_col0" class="data row0 col0" >0</td>z?<td id="T__row0_col1" class="data row0 col1 test-class" >1</td>z4<td id="T__row1_col0" class="data row1 col0" >2</td>z4<td id="T__row1_col1" class="data row1 col1" >3</td>©rr
rHrhrb)rèrµrWrÖrrrÚtest_set_data_classesÞs"       z TestStyler.test_set_data_classescCsªtdddgdddgddd    ggdddgdddgd
}td d gd dggddgddgd
}t|dd |¡ ¡}d|ksvt‚d|ks‚t‚d|ksŽt‚d|ksšt‚d|ks¦t‚dS)Nrrrrrr&rléér¶ÚmiÚmaÚmuÚmor z7<td id="T__row0_col0" class="data row0 col0 mi" >0</td>z7<td id="T__row0_col2" class="data row0 col2 ma" >2</td>z4<td id="T__row1_col1" class="data row1 col1" >4</td>z7<td id="T__row2_col0" class="data row2 col0 mu" >6</td>z7<td id="T__row2_col2" class="data row2 col2 mo" >8</td>r¸)rèrWrµrÖrrrÚtest_set_data_classes_reindexùs ÿý    z(TestStyler.test_set_data_classes_reindexcCs\tddgddggddgd}|j ddgd    œg¡jd
d gd    œgd d }t|jƒdksXt‚dS)NrrrrPrQ©rBrr0)úbackground-colorZyellowr)z.col0)rÂr÷F)Ú    overwrite)rrDr?r}r¸rb)rèrWrXrrrÚtest_chaining_table_styles
s ÿ üz%TestStyler.test_chaining_table_stylescCs€tddgddggddgd}t|dd}| ddd    gd
œgi¡}d | ¡ksPt‚|jddd    gd
œgidd }d | ¡ks|t‚dS)NrrrrPrQrÁr r0rör)z#T_ .col0 {
  color: blue;
}r,z#T_ .row0 {
  color: blue;
})rr
r?rhrbr rrrÚtest_column_and_row_stylings ÿz&TestStyler.test_column_and_row_stylingÚlen_r&é é!rjcCsftdggd}t||dd ¡}| d¡}||dd… d¡}|dkrV|dksbt‚n ||ksbt‚dS)    NrPr°Fr·zid="T_rlú"rÇr²)rèrÆrWrÖZstrtÚendrrrÚ test_uuid_len s
zTestStyler.test_uuid_lenéþÿÿÿrÂc    CsBtdggd}d}tjt|dt||dd ¡W5QRXdS)NrPr°z3``uuid_len`` must be an integer in range \[0, 32\].r¾Fr·)rrÅrÆrær
rh)rèrÆrWrÈrrrÚtest_uuid_len_raises,szTestStyler.test_uuid_len_raisesÚslcrácCs4tddgddggƒ}t|ƒ}t|j|tƒs0t‚dS)Nrrrr)rrrEr;rb)rèrÎrWÚtslice_rrrÚtest_non_reducing_slice4sz"TestStyler.test_non_reducing_sliceÚboxcCs^|dgƒ}tddgddgdœddgd}tdd…dgf}t|ƒ}t |j||j|¡dS)    NrPrrrrrOrQr)rrrr”Úassert_frame_equalr;)rèrÑrÀrWrŽrÞrrrÚtest_list_sliceKs
 
zTestStyler.test_list_slicecCsxddgddgddgddgdœ}t|ddgd}t}|dd…|df}t|ƒ}|j|}tdddgiƒ}t ||¡dS)    Nrrrr))r'r˜)r'r9)r8r9©r8r˜rrrÔ)rrrr;r”rÒ)rèZdicrWrKr5rÏrÞrŽrrrÚ%test_non_reducing_slice_on_multiindexVsü
z0TestStyler.test_non_reducing_slice_on_multiindexr9Úer˜ú-ÚUÚWr-rƒc
Csàt ddgddgddgg¡}t ddgd    d
gd d gg¡}tt d ¡ dd¡||d}dD]^}||}t|tƒrX|D]B}t|tƒrrd|krrt    j
t dd|j |W5QRXdSqrqX|j |}|j t |ƒ}    t |    |¡dS)Nr'r8r9r˜rÖr*rØÚVrÙr,r-rƒé@r»r†r(r×r¾)rrrrRr{r|rErFrGrÅrÆrHr;rr”rÒ)
rèr5r3r2rWZlvlÚkeyÚsubkeyrŽrÞrrrÚ+test_non_reducing_multi_slice_on_multiindexgs
 
z6TestStyler.test_non_reducing_multi_slice_on_multiindex)LÚ__name__Ú
__module__Ú __qualname__rérërïrðrûrrr rrrrr!r$r%r+rÅÚmarkÚ parametrizer0r4rr@rArLrSrVr^r_rarcrdrlrprvrwrxrzr{r}rr½r…r†rˆr—r›r¡r£r¤r¦r§r¨r¬r¯r´rrRÚnanr¹rÀrÄrÅrËrÍÚslicerRrrÐrGrÓrÕrÞrrrrråÍs2        
    
 
 
 
ûþ
 
ûþ
 
 
øþ
ÿ
 
 
        
         <    ýùþ
 
 
 
 
ôþ
 
 
 " "&ëþråcCsðddg|j_|j}| dd¡}t|dƒdks2t‚|jddd| dd¡}t|dƒdks`t‚td    ƒD]}|d
d |d sht‚qh|jdd d| dd¡}t|dƒdks´t‚|d
d d d dksÐt‚|d
d d d dksìt‚dS)NÚLev0ÚLev1Tr^rrr.rrrfrrYrrÄF)rr/rDr`r}rbr@Úrange)rr"rcrŸrrrÚtest_hidden_index_names–s     récCsöddg|j_|j}| dd¡}|dddddks:t‚|dddddksVt‚|jddd    | dd¡}|ddddd
ksŒt‚|ddddd
ks¨t‚|jddd | dd¡}t|dƒdksÖt‚|ddddd
ksòt‚dS) NrærçTr^rrr]r)r/r-rK)rÁr-)rr/rDr`rbr@r})rr"rcrrrÚtest_hidden_column_names©s    rêr )r'r8r9)rrÖc    Cs,d}tjt|d| |¡W5QRXdS)Nz8`caption` must be either a string or 2-tuple of strings.r¾)rÅrÆrÇr>)r"r rÈrrrÚtest_caption_raises»srëcCs–t ddgdddgg¡}td|dgd}|j dd¡}t|d    ƒd
ksJt‚|jjd dd  dd¡}t|d    ƒd ksvt‚d|d    dddks’t‚dS)Nrrr'r8é    rr:Frfrl©rr'r,rZrow2r‡)rrrrDr`r}rbr@rˆrrrÚ*test_hiding_headers_over_index_no_sparsifyÂsrîcCs®t ddgdddgg¡}td|dgd}|j dd¡}d    D](}|d
|d|dd d ks:t‚q:|jjd dd dd¡}d    D](}|d
|d|dd dks€t‚q€dS)Nrrr'r8rìrr†F)r(r‘rárŠr^rYTrírr,)rrrrDr`rbr@)r‰rWrcÚixrrrÚ,test_hiding_headers_over_columns_no_sparsifyÍs&rðc    Csdt ddddddgddddddgg¡}dddddddddœ}t|ddddddgd    }t ||¡dS)
Nrrr'r8)r‘r‰r’r“rŠr‹rŒrFrjr)rrZhidden_elementsr™)rrŽrÞrrrÚ test_get_level_lengths_mi_hiddenÙs"&ø
 
ürñc    Csštdgdgdgdgdggƒ}tddƒ"|jjddgdd     d
d
¡}W5QRXt|d ƒdksbt‚td d dgƒD]$\}}|d |dd|kspt‚qpdS)Nrrrrr&rwrrr,TrfrCr©ú...r]©rrrDr@r`r}rbr:©rWrcr=r€rrrÚtest_row_trimming_hide_indexïs  &rõc    Cshtdgdgdgdgdggƒ}t dgdddddgg¡|_tddƒ"|jjdd    gd
d  d d ¡}W5QRXt|d ƒdks~t    ‚ddd dœ 
¡|d dd 
¡ks¦t    ‚ddddœ 
¡|d dd 
¡ksÎt    ‚dd dœ 
¡|d dd 
¡ksôt    ‚t dddgƒD](\}}|d |dd|kst    ‚qt dddgƒD](\}}|d |dd|ks:t    ‚q:dS)Nrrrrr&rrwrÛr(rr,Trfre)r[rZrYr0Frò)r[rYÚ2rCr]r©) rrrrrrDr@r`r}rbrar:rôrrrÚtest_row_trimming_hide_index_miùs, &ÿþþÿþ&"r÷c    CsÜtdddddggƒ}tddƒ"|jjddgdd     d
d
¡}W5QRXt|d dƒd ks^t‚td dddgƒD]P\}}|d d|dd|dksšt‚|d d|dd|dksnt‚qnt|ddƒd ksØt‚dS)Nrrrrr&r‚rrr,Tr^rl)rF)rT)rT)ròTr[rYrfró)rWrcr9ÚvalsrrrÚtest_col_trimming_hide_columnss &$&rùcCs"|jdd„ddgd| ¡dS)NcSs
dgdS)Nr(rrrÕrrrr6 r7z%test_no_empty_apply.<locals>.<lambda>Fr )rÏr±rãrrrÚtest_no_empty_applysrúrEÚhtmlZlatexÚstringc    Cs4t d|›¡}t|d|›ƒ|ƒW5QRXdS)Nz
delete_me.Úto_)r”Z ensure_cleanr«)r"rEr*rrrÚtest_output_buffer$srþ)@rIr¨rhÚtextwraprÚnumpyrRrÅZpandasrrrrrZpandas._testingZ_testingr”Z importorskiprZpandas.io.formats.styler
Zpandas.io.formats.style_renderr r r rZfixturerr"rJrLrWrXrârãrdrgrirurr„rŠrr®r¶r½rÉrËrÌrßrârärårérêrërîrðrñrõr÷rùrúrþrrrrÚ<module>sð  
 
    
 
%
 
 
 
 
þþ
 
þþøþ
 
 
þþ
 
þþøþ
úþ
þþ
 
þþ
 
 3)
 
   P