Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 40 additions & 40 deletions mslib/msui/_tests/test_sideview.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,46 @@ def test_mouse_over(self, mockbox):
QtTest.QTest.mouseMove(self.window.mpl.canvas, QtCore.QPoint(20, 20), -1)
QtWidgets.QApplication.processEvents()

@mock.patch("PyQt5.QtWidgets.QMessageBox")
@mock.patch("mslib.msui.sideview.MSS_SV_OptionsDialog")
def test_options(self, mockdlg, mockbox):
QtTest.QTest.mouseClick(self.window.btOptions, QtCore.Qt.LeftButton)
QtWidgets.QApplication.processEvents()
assert mockbox.critical.call_count == 0
assert mockdlg.call_count == 1
assert mockdlg.return_value.setModal.call_count == 1
assert mockdlg.return_value.exec_.call_count == 1
assert mockdlg.return_value.destroy.call_count == 1

@mock.patch("PyQt5.QtWidgets.QMessageBox")
def test_insert_point(self, mockbox):
"""
Test inserting a point inside and outside the canvas
"""
self.window.mpl.navbar._actions['insert_wp'].trigger()
QtWidgets.QApplication.processEvents()
assert len(self.window.waypoints_model.waypoints) == 3
point = self.window.mpl.canvas.rect().center()
QtTest.QTest.mouseClick(self.window.mpl.canvas, QtCore.Qt.LeftButton, pos=point)
QtWidgets.QApplication.processEvents()
assert len(self.window.waypoints_model.waypoints) == 4
QtTest.QTest.mouseClick(self.window.mpl.canvas, QtCore.Qt.LeftButton, pos=QtCore.QPoint(1, 1))
QtWidgets.QApplication.processEvents()
assert len(self.window.waypoints_model.waypoints) == 4
QtTest.QTest.mouseClick(self.window.mpl.canvas, QtCore.Qt.LeftButton)
# click again on same position
QtWidgets.QApplication.processEvents()
assert len(self.window.waypoints_model.waypoints) == 5
assert mockbox.critical.call_count == 0

@mock.patch("PyQt5.QtWidgets.QMessageBox")
def test_y_axes(self, mockbox):
self.window.getView().get_settings()["secondary_axis"] = "pressure altitude"
self.window.getView().set_settings(self.window.getView().get_settings())
self.window.getView().get_settings()["secondary_axis"] = "flight level"
self.window.getView().set_settings(self.window.getView().get_settings())
assert mockbox.critical.call_count == 0


@pytest.mark.skipif(os.name == "nt",
reason="multiprocessing needs currently start_method fork")
Expand Down Expand Up @@ -186,43 +226,3 @@ def test_server_getmap(self, mockbox):
self.window.getView().clear_figure()
assert self.window.getView().image is None
assert mockbox.critical.call_count == 0

@mock.patch("PyQt5.QtWidgets.QMessageBox")
@mock.patch("mslib.msui.sideview.MSS_SV_OptionsDialog")
def test_options(self, mockdlg, mockbox):
QtTest.QTest.mouseClick(self.window.btOptions, QtCore.Qt.LeftButton)
QtWidgets.QApplication.processEvents()
assert mockbox.critical.call_count == 0
assert mockdlg.call_count == 1
assert mockdlg.return_value.setModal.call_count == 1
assert mockdlg.return_value.exec_.call_count == 1
assert mockdlg.return_value.destroy.call_count == 1

@mock.patch("PyQt5.QtWidgets.QMessageBox")
def test_insert_point(self, mockbox):
"""
Test inserting a point inside and outside the canvas
"""
self.window.mpl.navbar._actions['insert_wp'].trigger()
QtWidgets.QApplication.processEvents()
assert len(self.window.waypoints_model.waypoints) == 3
point = self.window.mpl.canvas.rect().center()
QtTest.QTest.mouseClick(self.window.mpl.canvas, QtCore.Qt.LeftButton, pos=point)
QtWidgets.QApplication.processEvents()
assert len(self.window.waypoints_model.waypoints) == 4
QtTest.QTest.mouseClick(self.window.mpl.canvas, QtCore.Qt.LeftButton, pos=QtCore.QPoint(1, 1))
QtWidgets.QApplication.processEvents()
assert len(self.window.waypoints_model.waypoints) == 4
QtTest.QTest.mouseClick(self.window.mpl.canvas, QtCore.Qt.LeftButton)
# click again on same position
QtWidgets.QApplication.processEvents()
assert len(self.window.waypoints_model.waypoints) == 5
assert mockbox.critical.call_count == 0

@mock.patch("PyQt5.QtWidgets.QMessageBox")
def test_y_axes(self, mockbox):
self.window.getView().get_settings()["secondary_axis"] = "pressure altitude"
self.window.getView().set_settings(self.window.getView().get_settings())
self.window.getView().get_settings()["secondary_axis"] = "flight level"
self.window.getView().set_settings(self.window.getView().get_settings())
assert mockbox.critical.call_count == 0