def test_add_component(): data_under_test = FakeInstrument([]) under_test = ComponentTreeModel(data_under_test) assert under_test.rowCount(QModelIndex()) == 0 under_test.add_component(get_component()) assert under_test.rowCount(QModelIndex()) == 1
def test_duplicate_component(): data_under_test = Instrument( NexusWrapper("test_component_model_duplicate"), NX_CLASS_DEFINITIONS) under_test = ComponentTreeModel(data_under_test) assert under_test.rowCount(QModelIndex()) == 1 # Sample under_test.add_component(get_component()) component_index = under_test.index(0, 0, QModelIndex()) under_test.duplicate_node(component_index) assert under_test.rowCount(QModelIndex()) == 3
def test_add_transformation_alt_1(): data_under_test = FakeInstrument([]) under_test = ComponentTreeModel(data_under_test) under_test.add_component(get_component()) component_index = under_test.index(0, 0, QModelIndex()) transformation_list_index = under_test.index(1, 0, component_index) assert under_test.rowCount(transformation_list_index) == 0 under_test.add_translation(transformation_list_index) assert under_test.rowCount(transformation_list_index) == 1
def test_add_link_alt_2(): data_under_test = FakeInstrument([]) under_test = ComponentTreeModel(data_under_test) under_test.add_component(get_component()) component_index = under_test.index(0, 0, QModelIndex()) transformation_list_index = under_test.index(1, 0, component_index) assert under_test.rowCount(transformation_list_index) == 0 under_test.add_link(transformation_list_index) assert under_test.rowCount(transformation_list_index) == 1 assert transformation_list_index.internalPointer().has_link assert len(transformation_list_index.internalPointer()) == 0
def test_add_translation(): data_under_test = FakeInstrument([]) under_test = ComponentTreeModel(data_under_test) under_test.add_component(get_component()) component_index = under_test.index(0, 0, QModelIndex()) transformation_list_index = under_test.index(1, 0, component_index) assert under_test.rowCount(transformation_list_index) == 0 under_test.add_translation(component_index) assert under_test.rowCount(transformation_list_index) == 1 transform_index = under_test.index(0, 0, transformation_list_index) assert transform_index.internalPointer().type == "Translation"
def test_duplicate_transform_fail(): data_under_test = Instrument( NexusWrapper("test_component_model_duplicate_fail"), NX_CLASS_DEFINITIONS) under_test = ComponentTreeModel(data_under_test) under_test.add_component(get_component()) component_index = under_test.index(0, 0, QModelIndex()) under_test.add_rotation(component_index) transformation_list_index = under_test.index(1, 0, component_index) transformation_index = under_test.index(0, 0, transformation_list_index) try: under_test.duplicate_node(transformation_index) except (NotImplementedError, AttributeError): return # Success assert False # Failure