40 lines
1.6 KiB
Python
40 lines
1.6 KiB
Python
|
import os
|
||
|
import tempfile
|
||
|
|
||
|
from tests.QtTestCase import QtTestCase
|
||
|
from urh import settings
|
||
|
from urh.controller.MainController import MainController
|
||
|
from urh.signalprocessing.Encoding import Encoding
|
||
|
from urh.signalprocessing.Message import Message
|
||
|
from urh.signalprocessing.Modulator import Modulator
|
||
|
from urh.signalprocessing.ProtocolAnalyzerContainer import ProtocolAnalyzerContainer
|
||
|
|
||
|
|
||
|
class TestFuzzingProfile(QtTestCase):
|
||
|
def test_load_profile(self):
|
||
|
filename = os.path.join(tempfile.gettempdir(), "test.fuzz.xml")
|
||
|
mod = Modulator("mod 2")
|
||
|
mod.parameters[1] = 42
|
||
|
|
||
|
decoders = [Encoding(["NRZ"]), Encoding(["NRZ-I", settings.DECODING_INVERT])]
|
||
|
|
||
|
pac = ProtocolAnalyzerContainer()
|
||
|
pac.messages.append(
|
||
|
Message([True, False, False, True], 100, decoder=decoders[0], message_type=pac.default_message_type))
|
||
|
pac.messages.append(
|
||
|
Message([False, False, False, False], 200, decoder=decoders[1], message_type=pac.default_message_type))
|
||
|
pac.create_fuzzing_label(1, 10, 0)
|
||
|
assert isinstance(self.form, MainController)
|
||
|
pac.to_xml_file(filename, decoders=decoders,
|
||
|
participants=self.form.project_manager.participants)
|
||
|
|
||
|
self.form.add_files([os.path.join(tempfile.gettempdir(), "test.fuzz.xml")])
|
||
|
|
||
|
self.assertEqual(self.form.ui.tabWidget.currentWidget(), self.form.ui.tab_generator)
|
||
|
|
||
|
pac = self.form.generator_tab_controller.table_model.protocol
|
||
|
|
||
|
self.assertEqual(len(pac.messages), 2)
|
||
|
self.assertEqual(pac.messages[1][0], False)
|
||
|
self.assertEqual(len(pac.protocol_labels), 1)
|