def test_remove_from_middle(): component1 = Component("component1", instrument) component2 = Component("component2", instrument) component3 = Component("component3", instrument) rot1 = component1.add_rotation( name="rotation1", axis=QVector3D(1.0, 0.0, 0.0), angle=values.values, values=values, ) rot2 = component2.add_rotation( name="rotation2", axis=QVector3D(1.0, 0.0, 0.0), angle=values.values, values=values, ) rot3 = component3.add_rotation( name="rotation3", axis=QVector3D(1.0, 0.0, 0.0), angle=values.values, values=values, ) component1.depends_on = rot1 component2.depends_on = rot2 component3.depends_on = rot3 component1.transforms.link.linked_component = component2 component2.transforms.link.linked_component = component3 rot2.remove_from_dependee_chain() assert rot1.depends_on == rot3 assert component1.transforms.link.linked_component == component3 assert rot1 in rot3.dependents assert component3 in rot3.dependents
def test_remove_from_beginning_3(instrument): component1 = Component("component1", instrument) component2 = Component("component2", instrument) rot1 = component1.add_rotation( name="rotation1", axis=QVector3D(1.0, 0.0, 0.0), angle=values.values, values=values, ) rot2 = component2.add_rotation( name="rotation2", axis=QVector3D(1.0, 0.0, 0.0), angle=values.values, values=values, ) component1.depends_on = rot1 component2.depends_on = rot2 rot1.depends_on = rot2 assert len(rot2.dependents) == 2 rot1.remove_from_dependee_chain() assert len(rot2.dependents) == 2 assert component2 in rot2.dependents assert component1 in rot2.dependents assert component1.depends_on == rot2 assert component1.transforms.link.linked_component == component2
def test_remove_from_end(): component1 = Component("component1", instrument) rot1 = component1.add_rotation( name="rotation1", axis=QVector3D(1.0, 0.0, 0.0), angle=values.values, values=values, ) rot2 = component1.add_rotation( name="rotation2", axis=QVector3D(1.0, 0.0, 0.0), angle=values.values, values=values, depends_on=rot1, ) rot3 = component1.add_rotation( name="rotation3", axis=QVector3D(1.0, 0.0, 0.0), angle=values.values, values=values, depends_on=rot2, ) component1.depends_on = rot3 rot1.remove_from_dependee_chain() assert rot1.depends_on is None assert not rot1.dependents assert component1.depends_on == rot3 assert rot2.dependents[0] == rot3 assert len(component1.transforms) == 2
def test_UI_GIVEN_link_as_rotation_magnitude_WHEN_creating_rotation_view_THEN_ui_is_filled_correctly( qtbot, ): model = Model() component = Component(name="test") x = 0 y = 0 z = 0 path = "/entry" transform = component.add_rotation(QVector3D(x, y, z), 0, name="test") link = Link(parent_node=None, name="test", source=path) transform.values = link view = EditRotation(transformation=transform, model=model, parent=None) qtbot.addWidget(view) assert view.transformation_frame.x_spinbox.value() == x assert view.transformation_frame.y_spinbox.value() == y assert view.transformation_frame.z_spinbox.value() == z assert view.transformation_frame.value_spinbox.value() == 0.0 assert view.transformation_frame.magnitude_widget.field_type == FieldType.link assert view.transformation_frame.magnitude_widget.value.source == path
def test_UI_GIVEN_stream_group_as_angle_WHEN_creating_rotation_THEN_ui_is_filled_correctly( qtbot, ): component = Component( name="test", ) x = 0 y = 0 z = 0 transform = component.add_rotation(QVector3D(x, y, z), 0, name="test") topic = "test_topic" source = "source1" type = "double" stream = F142Stream(parent_node=transform, topic=topic, source=source, type=type) transform.values = stream view = EditRotation(parent=None, transformation=transform, model=None) qtbot.addWidget(view) assert view.transformation_frame.x_spinbox.value() == x assert view.transformation_frame.y_spinbox.value() == y assert view.transformation_frame.z_spinbox.value() == z assert view.transformation_frame.value_spinbox.value() == 0.0 assert ( view.transformation_frame.magnitude_widget.field_type == FieldType.kafka_stream ) assert view.transformation_frame.magnitude_widget.value.topic == topic assert view.transformation_frame.magnitude_widget.value.type == type assert view.transformation_frame.magnitude_widget.value.writer_module == "f142" assert view.transformation_frame.magnitude_widget.value.source == source
def test_remove_from_beginning_2(instrument): component1 = Component("component1", instrument) rot1 = component1.add_rotation( name="rotation1", axis=QVector3D(1.0, 0.0, 0.0), angle=values.values, values=values, ) rot2 = component1.add_rotation( name="rotation2", axis=QVector3D(1.0, 0.0, 0.0), angle=values.values, values=values, ) component1.depends_on = rot1 rot1.depends_on = rot2 assert len(rot2.dependents) == 1 rot1.remove_from_dependee_chain() assert len(rot2.dependents) == 1 assert rot2.dependents[0] == component1 assert component1.depends_on == rot2
def component_with_transformation() -> Component: comp = Component(name="Component") transformation = comp.add_rotation( name="Transformation", angle=90, axis=QVector3D(1, 0, 0), depends_on=None, values=Dataset( parent_node=False, name="test", values=123, type=ValueTypes.DOUBLE ), ) comp.depends_on = transformation return comp