Files
manticore/test/test_signal.py
T
Mark Mossberg 05f5fcf045 Port to real python package structure (#6)
* Initial moving

* Initial package __init__.py

* Use relative imports

* Correct imports for tests

* Rename main.py -> __main__.py

* Use relative imports in main

* Refactor cli to be used with setuptools

* Add basic setup.py

* Fix test_memory import

* Fix test_cpu_manual imports

* Correct iterpickle import

* Use manticore console_script installed by setuptools

* Make travis install our package for integration cli tests

* Refactor model hooks dynamic import for being in pkg

* Correct import

* Rm empty line

* Fix coverage test paths
2017-02-15 12:32:08 -05:00

70 lines
1.3 KiB
Python

import unittest
from manticore.utils.event import Signal
class Sender(object):
def __init__(self):
self.sig = Signal()
self.sig2 = Signal()
class ManticoreDriver(unittest.TestCase):
def setUp(self):
self.state = {}
def tearDown(self):
pass
def setReceived(self, key, val):
self.state[key] = val
def setReceived2(self, key, val):
self.state[key] = val
def test_basic(self):
s = Sender()
def recv():
self.state['received'] = True
self.state['received'] = False
s.sig += recv
s.sig()
self.assertEqual(self.state['received'], True)
def test_method(self):
s = Sender()
s.sig += self.setReceived
s.sig('received', True)
self.assertEqual(self.state['received'], True)
def test_disconnect(self):
s = Sender()
s.sig.connect(self.setReceived)
s.sig -= self.setReceived
s.sig('received', True)
self.assertNotIn('received', self.state)
def test_predicate(self):
s = Sender()
s.sig.connect(self.setReceived)
s.sig2.connect(self.setReceived2, lambda: False)
s.sig('true', True)
s.sig2('false', True)
self.assertEqual(self.state['true'], True)
self.assertNotIn('false', self.state)