def test_cancel(self): proc = test_utils.DummyProcess(loop=self.loop) proc.cancel('Farewell!') self.assertTrue(proc.cancelled()) self.assertEqual(proc.cancelled_msg(), 'Farewell!') self.assertEqual(proc.state, ProcessState.CANCELLED)
def test_recreate_from(self): proc = test_utils.DummyProcess() p2 = self._assert_same(proc) self._procs_same(proc, p2) proc.play() p2 = self._assert_same(proc) self._procs_same(proc, p2) proc.finish() p2 = self._assert_same(proc) self._procs_same(proc, p2)
def test_spec(self): """ Check that the references to specs are doing the right thing... """ dp = test_utils.DummyProcess() self.assertIsNot(test_utils.DummyProcess.spec(), Process.spec()) self.assertIs(dp.spec(), test_utils.DummyProcess.spec()) class Proc(test_utils.DummyProcess): pass self.assertIsNot(Proc.spec(), Process.spec()) self.assertIsNot(Proc.spec(), test_utils.DummyProcess.spec()) p = Proc() self.assertIs(p.spec(), Proc.spec())
def test_broadcast(self): messages = [] def on_broadcast_receive(**msg): messages.append(msg) self.communicator.add_broadcast_subscriber(on_broadcast_receive) proc = test_utils.DummyProcess(loop=self.loop, communicator=self.communicator) proc.execute() expected_subjects = [] for i, state in enumerate(test_utils.DummyProcess.EXPECTED_STATE_SEQUENCE): from_state = test_utils.DummyProcess.EXPECTED_STATE_SEQUENCE[i - 1].value if i != 0 else None expected_subjects.append( "state_changed.{}.{}".format(from_state, state.value)) for i, message in enumerate(messages): self.assertEqual(message['subject'], expected_subjects[i])
def test_run_done(self): proc = test_utils.DummyProcess() proc.execute() self.assertTrue(proc.done())