35 lines
1.2 KiB
Python
35 lines
1.2 KiB
Python
import unittest
|
|
|
|
import time
|
|
|
|
from urh.signalprocessing.ContinuousModulator import ContinuousModulator
|
|
from urh.signalprocessing.Message import Message
|
|
from urh.signalprocessing.MessageType import MessageType
|
|
from urh.signalprocessing.Modulator import Modulator
|
|
|
|
|
|
class TestContinuousModulator(unittest.TestCase):
|
|
NUM_MESSAGES = 20
|
|
BITS_PER_MESSAGE = 100
|
|
|
|
def test_modulate_continuously(self):
|
|
modulator = Modulator("Test")
|
|
continuous_modulator = ContinuousModulator(self.__create_messages(), [modulator])
|
|
|
|
self.assertEqual(continuous_modulator.current_message_index.value, 0)
|
|
self.assertTrue(continuous_modulator.ring_buffer.is_empty)
|
|
continuous_modulator.start()
|
|
self.assertTrue(continuous_modulator.process.is_alive())
|
|
time.sleep(2)
|
|
self.assertFalse(continuous_modulator.ring_buffer.is_empty)
|
|
continuous_modulator.stop()
|
|
self.assertFalse(continuous_modulator.process.is_alive())
|
|
|
|
def __create_messages(self):
|
|
mt = MessageType("test")
|
|
return [Message([True] * self.BITS_PER_MESSAGE, 1000, mt) for _ in range(self.NUM_MESSAGES)]
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|