|
9 | 9 | from sdm import EnsembleTable, EnsembleTensor, TableTensor |
10 | 10 |
|
11 | 11 |
|
12 | | -def test_tensor_member() -> None: |
13 | | - group = torch.tensor([[1.0], [2.0]]) |
14 | | - ensemble = EnsembleTensor( |
15 | | - groups=(group,), |
16 | | - locations=((0, 1), (0, 0), (0, 1)), |
17 | | - ) |
18 | | - |
19 | | - torch.testing.assert_close(ensemble[0], group[1]) |
20 | | - |
21 | | - |
22 | 12 | def test_tensor_member_selection() -> None: |
23 | 13 | first = torch.tensor([[1.0], [2.0], [3.0]]) |
24 | 14 | second = torch.tensor([[4.0]]) |
@@ -189,49 +179,6 @@ def test_gather_members_rejects_source_count_mismatch() -> None: |
189 | 179 | ) |
190 | 180 |
|
191 | 181 |
|
192 | | -def test_getitem_preserves_groups_and_order() -> None: |
193 | | - tables = tuple( |
194 | | - TableTensor.from_tensor(torch.tensor([[value]], dtype=torch.float32)) |
195 | | - for value in range(3) |
196 | | - ) |
197 | | - ensemble_table = EnsembleTable( |
198 | | - groups=(cast(TableTensor, torch.stack(tables)),), |
199 | | - locations=((0, 2), (0, 0), (0, 1), (0, 2)), |
200 | | - ) |
201 | | - |
202 | | - output = ensemble_table[1, 3, 0] |
203 | | - |
204 | | - assert len(output) == 3 |
205 | | - assert output.num_groups == 1 |
206 | | - assert next(output._iter_groups()).size(0) == 2 |
207 | | - assert output[0].equal(tables[0]) |
208 | | - assert output[1].equal(tables[2]) |
209 | | - assert output[2].equal(tables[2]) |
210 | | - |
211 | | - output = ensemble_table[1:4:2] |
212 | | - |
213 | | - assert len(output) == 2 |
214 | | - assert output.num_groups == 1 |
215 | | - assert next(output._iter_groups()).size(0) == 2 |
216 | | - assert output[0].equal(tables[0]) |
217 | | - assert output[1].equal(tables[2]) |
218 | | - |
219 | | - |
220 | | -@pytest.mark.parametrize("member_ids", [(0, 2, 4), (4, 2, 0), (0, 3, 4)]) |
221 | | -def test_getitem_strided_members(member_ids: tuple[int, ...]) -> None: |
222 | | - values = torch.arange(30).float().reshape(5, 3, 2) |
223 | | - table = EnsembleTable( |
224 | | - groups=(TableTensor.from_tensor(values),), |
225 | | - locations=tuple((0, index) for index in range(5)), |
226 | | - ) |
227 | | - |
228 | | - selected = table[member_ids] |
229 | | - |
230 | | - assert len(selected) == len(member_ids) |
231 | | - for position, index in enumerate(member_ids): |
232 | | - torch.testing.assert_close(selected[position].numerical, values[index]) |
233 | | - |
234 | | - |
235 | 182 | def test_concatenate_columns_preserves_member_order() -> None: |
236 | 183 | left = EnsembleTable.from_tables( |
237 | 184 | tables=( |
|
0 commit comments