Files
urh/tests/test_fuzzing_profile.py
2016-12-02 10:40:02 +01:00

37 lines
1.5 KiB
Python

import unittest
import os
import tempfile
from urh import constants
from urh.cythonext.signalFunctions import Symbol
from urh.signalprocessing.Modulator import Modulator
from urh.signalprocessing.ProtocolAnalyzerContainer import ProtocolAnalyzerContainer
from urh.signalprocessing.Message import Message
from urh.signalprocessing.encoder import Encoder
class TestFuzzing(unittest.TestCase):
def setUp(self):
filename = os.path.join(tempfile.gettempdir(), "test.fuzz")
mod1 = Modulator("mod 1")
mod2 = Modulator("mod 2")
mod2.param_for_one = 42
decoders = [Encoder(["NRZ"]), Encoder(["NRZ-I", constants.DECODING_INVERT])]
pac = ProtocolAnalyzerContainer([mod1, mod2])
pac.messages.append(Message([True, False, False, True, "A"], 100, decoder=decoders[0], message_type=pac.default_message_type))
pac.messages.append(Message([False, False, False, False, "A"], 200, decoder=decoders[1], message_type=pac.default_message_type))
pac.used_symbols.add(Symbol("A", 1, 1, 100))
pac.create_fuzzing_label(1, 10, 0)
pac.to_xml_file(filename)
def test_load_profile(self):
pac = ProtocolAnalyzerContainer([])
pac.from_xml_file(os.path.join(tempfile.gettempdir(), "test.fuzz"))
self.assertEqual(len(pac.used_symbols), 1)
self.assertEqual(len(pac.modulators), 2)
self.assertEqual(len(pac.messages), 2)
self.assertEqual(pac.messages[1][0], False)
self.assertEqual(len(pac.protocol_labels), 1)