class StateStreamTestCase(unittest.TestCase): object = None # should be set in subclass setUp def setUpForObject(self, obj): self.object = obj self.updates = [] self.poller = Poller() def send(value): self.updates.extend(json.loads(value)) self.stream = StateStreamInner( send, self.object, 'urlroot', lambda: None, # TODO test noteDirty or make it unnecessary poller=self.poller) def getUpdates(self): # warning: implementation poking self.poller.poll() self.stream._flush() u = self.updates self.updates = [] return u
def setUpForObject(self, obj): self.object = obj self.updates = [] self.poller = Poller() def send(value): self.updates.extend(json.loads(value)) self.stream = StateStreamInner(send, self.object, 'urlroot', poller=self.poller)
def setUpForObject(self, obj): self.object = obj self.updates = [] self.poller = Poller() def send(value): self.updates.extend(json.loads(value)) self.stream = StateStreamInner( send, self.object, 'urlroot', lambda: None, # TODO test noteDirty or make it unnecessary poller=self.poller)
def setUp(self): self.poller = Poller() self.cells = PollerCellsSpecimen()
class TestPoller(unittest.TestCase): def setUp(self): self.poller = Poller() self.cells = PollerCellsSpecimen() def test_trivial(self): cell = self.cells.state()['foo'] called = [0] def callback(): called[0] += 1 sub = self.poller.subscribe(cell, callback) self.assertEqual(0, called[0], 'initial') self.poller.poll() self.assertEqual(0, called[0], 'noop poll') self.cells.set_foo('a') self.assertEqual(0, called[0], 'after set') self.poller.poll() self.assertEqual(1, called[0], 'poll after set') sub.unsubscribe() self.cells.set_subscribable('b') self.poller.poll() self.assertEqual(1, called[0], 'no poll after unsubscribe') def test_subscription_support(self): cell = self.cells.state()['subscribable'] called = [0] def callback(): called[0] += 1 sub = self.poller.subscribe(cell, callback) self.assertEqual(0, self.poller._Poller__targets.count_keys(), 'no polling') self.assertEqual(0, called[0], 'initial') self.cells.set_subscribable('a') self.assertEqual(0, called[0], 'after set') self.assertEqual('a', self.cells.get_subscribable()) self.poller.poll() self.assertEqual(1, called[0], 'poll after set') sub.unsubscribe() self.cells.set_subscribable('b') self.poller.poll() self.assertEqual(1, called[0], 'no poll after unsubscribe')