MCPcopy Create free account
hub / github.com/open-mmlab/mmengine / test_cat

Method test_cat

tests/test_structures/test_instance_data.py:184–217  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

182 bool_numpy_instance_data = instance_data[bool_numpy]
183
184 def test_cat(self):
185 instance_data_1 = self.setup_data()
186 instance_data_2 = self.setup_data()
187 cat_instance_data = InstanceData.cat(
188 [instance_data_1, instance_data_2])
189 assert len(cat_instance_data) == 10
190
191 # All inputs must be InstanceData
192 instance_data_2 = BaseDataElement(
193 bboxes=torch.rand((5, 4)), labels=torch.rand((5, )))
194 with self.assertRaises(AssertionError):
195 InstanceData.cat([instance_data_1, instance_data_2])
196
197 # Input List length must be greater than 0
198 with self.assertRaises(AssertionError):
199 InstanceData.cat([])
200 instance_data_2 = instance_data_1.clone()
201 instance_data_2 = instance_data_2[torch.zeros(5) > 0.5]
202 cat_instance_data = InstanceData.cat(
203 [instance_data_1, instance_data_2])
204 cat_instance_data = InstanceData.cat([instance_data_1])
205 assert len(cat_instance_data) == 5
206
207 # test custom data cat
208 instance_data_1.polygons = TmpObjectWithoutCat(
209 np.arange(25).reshape((5, -1)).tolist())
210 instance_data_2 = instance_data_1.clone()
211 with pytest.raises(
212 ValueError,
213 match=('The type of `polygons` is '
214 f'`{type(instance_data_1.polygons)}` '
215 'which has no attribute of `cat`')):
216 cat_instance_data = InstanceData.cat(
217 [instance_data_1, instance_data_2])
218
219 def test_len(self):
220 instance_data = self.setup_data()

Callers

nothing calls this directly

Calls 5

setup_dataMethod · 0.95
BaseDataElementClass · 0.90
TmpObjectWithoutCatClass · 0.85
cloneMethod · 0.80
catMethod · 0.45

Tested by

no test coverage detected