66import pandas as pd
77import xarray as xr
88
9- from . import randn , randint , requires_dask
9+ from . import parameterized , randn , randint , requires_dask
1010
1111
1212nx = 3000
6161
6262
6363class Base (object ):
64- def setup (self , key ):
64+ def setup (self , * args , ** kwargs ):
6565 self .ds = xr .Dataset (
6666 {'var1' : (('x' , 'y' ), randn ((nx , ny ), frac_nan = 0.1 )),
6767 'var2' : (('x' , 't' ), randn ((nx , nt ))),
@@ -73,53 +73,41 @@ def setup(self, key):
7373
7474
7575class Indexing (Base ):
76+ @parameterized (['key' ], (list (basic_indexes .keys ())))
7677 def time_indexing_basic (self , key ):
7778 self .ds .isel (** basic_indexes [key ]).load ()
7879
79- time_indexing_basic .param_names = ['key' ]
80- time_indexing_basic .params = [list (basic_indexes .keys ())]
81-
80+ @parameterized (['key' ], (list (outer_indexes .keys ())))
8281 def time_indexing_outer (self , key ):
8382 self .ds .isel (** outer_indexes [key ]).load ()
8483
85- time_indexing_outer .param_names = ['key' ]
86- time_indexing_outer .params = [list (outer_indexes .keys ())]
87-
84+ @parameterized (['key' ], (list (vectorized_indexes .keys ())))
8885 def time_indexing_vectorized (self , key ):
8986 self .ds .isel (** vectorized_indexes [key ]).load ()
9087
91- time_indexing_vectorized .param_names = ['key' ]
92- time_indexing_vectorized .params = [list (vectorized_indexes .keys ())]
93-
9488
9589class Assignment (Base ):
90+ @parameterized (['key' ], (list (basic_indexes .keys ())))
9691 def time_assignment_basic (self , key ):
9792 ind = basic_indexes [key ]
9893 val = basic_assignment_values [key ]
9994 self .ds ['var1' ][ind .get ('x' , slice (None )),
10095 ind .get ('y' , slice (None ))] = val
10196
102- time_assignment_basic .param_names = ['key' ]
103- time_assignment_basic .params = [list (basic_indexes .keys ())]
104-
97+ @parameterized (['key' ], (list (outer_indexes .keys ())))
10598 def time_assignment_outer (self , key ):
10699 ind = outer_indexes [key ]
107100 val = outer_assignment_values [key ]
108101 self .ds ['var1' ][ind .get ('x' , slice (None )),
109102 ind .get ('y' , slice (None ))] = val
110103
111- time_assignment_outer .param_names = ['key' ]
112- time_assignment_outer .params = [list (outer_indexes .keys ())]
113-
104+ @parameterized (['key' ], (list (vectorized_indexes .keys ())))
114105 def time_assignment_vectorized (self , key ):
115106 ind = vectorized_indexes [key ]
116107 val = vectorized_assignment_values [key ]
117108 self .ds ['var1' ][ind .get ('x' , slice (None )),
118109 ind .get ('y' , slice (None ))] = val
119110
120- time_assignment_vectorized .param_names = ['key' ]
121- time_assignment_vectorized .params = [list (vectorized_indexes .keys ())]
122-
123111
124112class IndexingDask (Indexing ):
125113 def setup (self , key ):
0 commit comments