@@ -121,6 +121,28 @@ def test_range_index_isel() -> None:
121
121
expected = create_dataset_arange (0.0 , 1.0 , 0.2 )
122
122
assert_identical (actual , expected , check_default_indexes = False )
123
123
124
+ actual = ds .isel (x = slice (None , None , - 1 ))
125
+ expected = create_dataset_arange (0.9 , - 0.1 , - 0.1 )
126
+ assert_identical (actual , expected , check_default_indexes = False )
127
+
128
+ actual = ds .isel (x = slice (None , 4 , - 1 ))
129
+ expected = create_dataset_arange (0.9 , 0.4 , - 0.1 )
130
+ assert_identical (actual , expected , check_default_indexes = False )
131
+
132
+ actual = ds .isel (x = slice (8 , 4 , - 1 ))
133
+ expected = create_dataset_arange (0.8 , 0.4 , - 0.1 )
134
+ assert_identical (actual , expected , check_default_indexes = False )
135
+
136
+ actual = ds .isel (x = slice (8 , None , - 1 ))
137
+ expected = create_dataset_arange (0.8 , - 0.1 , - 0.1 )
138
+ assert_identical (actual , expected , check_default_indexes = False )
139
+
140
+ # https://github.com/pydata/xarray/issues/10441
141
+ ds2 = create_dataset_arange (0.0 , 3.0 , 0.1 )
142
+ actual = ds2 .isel (x = slice (4 , None , 3 ))
143
+ expected = create_dataset_arange (0.4 , 3.0 , 0.3 )
144
+ assert_identical (actual , expected , check_default_indexes = False )
145
+
124
146
# scalar
125
147
actual = ds .isel (x = 0 )
126
148
expected = xr .Dataset (coords = {"x" : 0.0 })
0 commit comments