class TestReactors(unittest.TestCase): def setUp(self): self.entity = DXFEntity(ClassifiedTags.from_text(LINE_DATA)) def test_has_no_reactors(self): self.assertFalse(self.entity.has_reactors()) def test_set_reactors(self): self.entity.set_reactors(['A000', 'B000', 'C000']) self.assertTrue(self.entity.has_reactors()) handles = self.entity.get_reactors() self.assertEqual(['A000', 'B000', 'C000'], handles) def test_append_handle(self): self.entity.set_reactors([]) self.assertEqual(0, len(self.entity.get_reactors())) self.entity.append_reactor_handle('A000') self.assertTrue('A000' in self.entity.get_reactors()) self.entity.append_reactor_handle('B000') self.assertTrue('B000' in self.entity.get_reactors()) self.assertEqual(2, len(self.entity.get_reactors())) self.entity.append_reactor_handle('B000') # same handle again self.assertTrue('B000' in self.entity.get_reactors()) self.assertEqual(2, len(self.entity.get_reactors()), 'handle entries should be unique') self.entity.append_reactor_handle('FF') # smallest handle, should be first handle in reactors self.assertEqual('FF', self.entity.get_reactors()[0]) self.entity.append_reactor_handle('FFFF') # biggest handle, should be last handle in reactors self.assertEqual('FFFF', self.entity.get_reactors()[-1]) def test_remove_handle(self): self.entity.set_reactors(['A000', 'B000', 'C000']) self.entity.remove_reactor_handle('A000') self.assertEqual(2, len(self.entity.get_reactors()), 'Handle not deleted') self.entity.remove_reactor_handle('FFFF') # ignore not existing handles self.assertEqual(2, len(self.entity.get_reactors()))
def setUp(self): self.entity = DXFEntity(ClassifiedTags.from_text(LINE_DATA))
class TestXData(unittest.TestCase): def setUp(self): self.entity = DXFEntity(ClassifiedTags.from_text(LINE_DATA)) def test_new_app_data(self): self.assertFalse(self.entity.has_xdata('MOZMAN')) self.entity.set_xdata('MOZMAN', xdata_tags=[DXFTag(1000, 'Extended Data String')]) self.assertTrue(self.entity.has_xdata('MOZMAN')) def test_get_xdata(self): self.entity.set_xdata('MOZMAN', xdata_tags=[DXFTag(1000, 'Extended Data String')]) xdata = self.entity.get_xdata('MOZMAN') self.assertEqual(1, len(xdata)) self.assertEqual(DXFTag(1000, 'Extended Data String'), xdata[0]) def test_set_xdata(self): self.entity.set_xdata('MOZMAN', xdata_tags=[DXFTag(1000, 'Extended Data String')]) xdata = self.entity.get_xdata('MOZMAN') self.assertEqual(1, len(xdata)) self.assertEqual(DXFTag(1000, 'Extended Data String'), xdata[0]) xdata.append(DXFTag(1000, 'Extended Data String2')) self.entity.set_xdata('MOZMAN', xdata) xdata = self.entity.get_xdata('MOZMAN') self.assertEqual(2, len(xdata)) self.assertEqual(DXFTag(1000, 'Extended Data String'), xdata[0]) self.assertEqual(DXFTag(1000, 'Extended Data String2'), xdata[1]) def test_not_existing_appid(self): with self.assertRaises(ValueError): self.entity.get_xdata("XYZ")
class TestAppData(unittest.TestCase): def setUp(self): self.entity = DXFEntity(ClassifiedTags.from_text(LINE_DATA)) def test_new_app_data(self): self.assertFalse(self.entity.has_app_data('{MOZMAN')) self.entity.set_app_data('{MOZMAN', app_data_tags=[DXFTag(330, 'DEAD')]) self.assertTrue(self.entity.has_app_data('{MOZMAN')) def test_get_app_data(self): self.entity.set_app_data('{MOZMAN', app_data_tags=[DXFTag(330, 'DEAD')]) app_data = self.entity.get_app_data('{MOZMAN') self.assertEqual(1, len(app_data)) self.assertEqual(DXFTag(330, 'DEAD'), app_data[0]) def test_set_app_data(self): self.entity.set_app_data('{MOZMAN', app_data_tags=[DXFTag(330, 'DEAD')]) app_data = self.entity.get_app_data('{MOZMAN') self.assertEqual(1, len(app_data)) self.assertEqual(DXFTag(330, 'DEAD'), app_data[0]) app_data.append(DXFTag(360, 'DEAD2')) self.entity.set_app_data('{MOZMAN', app_data) app_data = self.entity.get_app_data('{MOZMAN') self.assertEqual(2, len(app_data)) self.assertEqual(DXFTag(330, 'DEAD'), app_data[0]) self.assertEqual(DXFTag(360, 'DEAD2'), app_data[1]) def test_not_existing_appid(self): with self.assertRaises(ValueError): self.entity.get_app_data("XYZ")
def entity(self): return DXFEntity(ExtendedTags.from_text(LINE_DATA))
def delete_entity(self, entity: DXFEntity) -> None: entity.destroy() self.delete_handle(entity.dxf.handle)
def setUp(self): self.entity = DXFEntity(ExtendedTags.from_text(LINE_DATA))