()
| 1137 | |
| 1138 | |
| 1139 | def test_intersect_chunks_with_zero(): |
| 1140 | from dask.array.rechunk import intersect_chunks |
| 1141 | |
| 1142 | old = ((4, 4), (2,)) |
| 1143 | new = ((4, 0, 0, 4), (1, 1)) |
| 1144 | result = list(intersect_chunks(old, new)) |
| 1145 | |
| 1146 | expected = [ |
| 1147 | (((0, slice(0, 4, None)), (0, slice(0, 1, None))),), |
| 1148 | (((0, slice(0, 4, None)), (0, slice(1, 2, None))),), |
| 1149 | (((1, slice(0, 0, None)), (0, slice(0, 1, None))),), |
| 1150 | (((1, slice(0, 0, None)), (0, slice(1, 2, None))),), |
| 1151 | (((1, slice(0, 0, None)), (0, slice(0, 1, None))),), |
| 1152 | (((1, slice(0, 0, None)), (0, slice(1, 2, None))),), |
| 1153 | (((1, slice(0, 4, None)), (0, slice(0, 1, None))),), |
| 1154 | (((1, slice(0, 4, None)), (0, slice(1, 2, None))),), |
| 1155 | ] |
| 1156 | |
| 1157 | assert result == expected |
| 1158 | |
| 1159 | old = ((4, 0, 0, 4), (1, 1)) |
| 1160 | new = ((4, 4), (2,)) |
| 1161 | result = list(intersect_chunks(old, new)) |
| 1162 | |
| 1163 | expected = [ |
| 1164 | ( |
| 1165 | ((0, slice(0, 4, None)), (0, slice(0, 1, None))), |
| 1166 | ((0, slice(0, 4, None)), (1, slice(0, 1, None))), |
| 1167 | ), |
| 1168 | ( |
| 1169 | ((3, slice(0, 4, None)), (0, slice(0, 1, None))), |
| 1170 | ((3, slice(0, 4, None)), (1, slice(0, 1, None))), |
| 1171 | ), |
| 1172 | ] |
| 1173 | |
| 1174 | assert result == expected |
| 1175 | |
| 1176 | old = ((4, 4), (2,)) |
| 1177 | new = ((2, 0, 0, 2, 4), (1, 1)) |
| 1178 | result = list(intersect_chunks(old, new)) |
| 1179 | expected = [ |
| 1180 | (((0, slice(0, 2, None)), (0, slice(0, 1, None))),), |
| 1181 | (((0, slice(0, 2, None)), (0, slice(1, 2, None))),), |
| 1182 | (((0, slice(2, 2, None)), (0, slice(0, 1, None))),), |
| 1183 | (((0, slice(2, 2, None)), (0, slice(1, 2, None))),), |
| 1184 | (((0, slice(2, 2, None)), (0, slice(0, 1, None))),), |
| 1185 | (((0, slice(2, 2, None)), (0, slice(1, 2, None))),), |
| 1186 | (((0, slice(2, 4, None)), (0, slice(0, 1, None))),), |
| 1187 | (((0, slice(2, 4, None)), (0, slice(1, 2, None))),), |
| 1188 | (((1, slice(0, 4, None)), (0, slice(0, 1, None))),), |
| 1189 | (((1, slice(0, 4, None)), (0, slice(1, 2, None))),), |
| 1190 | ] |
| 1191 | |
| 1192 | assert result == expected |
| 1193 | |
| 1194 | old = ((4, 4), (2,)) |
| 1195 | new = ((0, 0, 4, 4), (1, 1)) |
| 1196 | result = list(intersect_chunks(old, new)) |
nothing calls this directly
no test coverage detected