diff --git a/tests/data/protocol.proto b/tests/data/protocol.proto
index 89a77b81..27e9ee70 100644
--- a/tests/data/protocol.proto
+++ b/tests/data/protocol.proto
@@ -12,29 +12,27 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
diff --git a/tests/test_protocol_label_dialog.py b/tests/test_protocol_label_dialog.py
new file mode 100644
index 00000000..56f35fc7
--- /dev/null
+++ b/tests/test_protocol_label_dialog.py
@@ -0,0 +1,64 @@
+import os
+import random
+import unittest
+
+from PyQt5.QtCore import QDir
+from PyQt5.QtCore import Qt
+from PyQt5.QtTest import QTest
+
+import tests.utils_testing
+from urh.controller.ProjectDialogController import ProjectDialogController
+from urh.controller.MainController import MainController
+from urh.controller.ProtocolLabelController import ProtocolLabelController
+from urh.signalprocessing.Modulator import Modulator
+from tests.utils_testing import get_path_for_data_file
+app = tests.utils_testing.app
+
+
+class TestProtocolLabelDialog(unittest.TestCase):
+ def setUp(self):
+ self.form = MainController()
+ self.form.add_protocol_file(get_path_for_data_file("protocol.proto"))
+ self.cframe = self.form.compare_frame_controller
+
+ self.cframe.add_protocol_label(9, 20, 0, 0, edit_label_name=False)
+ self.cframe.add_protocol_label(39, 54, 1, 0, edit_label_name=False)
+
+ self.assertEqual(len(self.cframe.proto_analyzer.protocol_labels), 2)
+ self.dialog = ProtocolLabelController(preselected_index=1,
+ message_type=self.cframe.proto_analyzer.messages[0].message_type,
+ viewtype=0, max_end=200, parent=self.cframe)
+
+ def test_protocol_label_dialog(self):
+ self.assertIn(self.cframe.proto_analyzer.default_message_type.name, self.dialog.windowTitle())
+ table_model = self.dialog.ui.tblViewProtoLabels.model()
+
+ self.assertEqual(table_model.rowCount(), 2)
+ label = table_model.message_type[0]
+ table_model.setData(table_model.index(0, 0), "testname")
+ self.assertEqual(label.name, "testname")
+ table_model.setData(table_model.index(0, 1), 15)
+ self.assertEqual(label.start, 15 - 1)
+ table_model.setData(table_model.index(0, 2), 30)
+ self.assertEqual(label.end, 30)
+ table_model.setData(table_model.index(0, 3), 4)
+ self.assertEqual(label.color_index, 4)
+ table_model.setData(table_model.index(0, 4), False)
+ self.assertEqual(label.apply_decoding, False)
+
+ def test_change_view_type(self):
+
+ table_model = self.dialog.ui.tblViewProtoLabels.model()
+ self.dialog.ui.cbProtoView.setCurrentIndex(1)
+ self.assertEqual(table_model.data(table_model.index(0, 1)), 3)
+ self.assertEqual(table_model.data(table_model.index(0, 2)), 5)
+
+ self.assertEqual(table_model.data(table_model.index(1, 1)), 10)
+ self.assertEqual(table_model.data(table_model.index(1, 2)), 13)
+
+ label = table_model.message_type[0]
+ table_model.setData(table_model.index(0, 1), 2)
+ table_model.setData(table_model.index(0, 2), 5)
+
+ self.assertEqual(label.start, 8 - 1)
+ self.assertEqual(label.end, 20)