def test_queue(self): self.interpreter.queue(Event('e1')) self.assertEqual(self.interpreter._select_event(), Event('e1')) self.interpreter.queue(InternalEvent('e1')) self.assertEqual(self.interpreter._select_event(), InternalEvent('e1')) with self.assertRaises(ValueError): self.interpreter.queue('e1')
def __send(self, name: str, **kwargs): """ Add an internal event to interpreter queue. :param name: name of the event :param kwargs: additional event parameters """ self._interpreter.queue(InternalEvent(name, **kwargs))
def test_bind_callable(self): with open('tests/yaml/simple.yaml') as f: other_sc = io.import_from_yaml(f) other_interpreter = Interpreter(other_sc) self.interpreter.bind(other_interpreter.queue) self.assertEqual(self.interpreter._bound, [other_interpreter.queue]) self.interpreter.queue(InternalEvent('test')) self.assertTrue(self.interpreter._internal_events.pop(), Event('test')) self.assertTrue(other_interpreter._external_events.pop(), Event('test'))
def test_bind(self): with open('tests/yaml/simple.yaml') as f: other_sc = io.import_from_yaml(f) other_interpreter = Interpreter(other_sc) self.interpreter.bind(other_interpreter) self.assertIn(other_interpreter.queue, self.interpreter._bound) self.interpreter.raise_event(InternalEvent('test')) self.assertTrue(self.interpreter._internal_events.pop(), Event('test')) self.assertTrue(other_interpreter._external_events.pop(), Event('test'))
def test_ignore_internal_events(self): trace = [ MacroStep(2, [MicroStep(Event('a'))]), MacroStep(5, [MicroStep(Event('b'))]), MacroStep(9, [MicroStep(InternalEvent('c'))]), MacroStep(14, [MicroStep(Event('d'))]), ] self.assertListEqual(story_from_trace(trace), [ Pause(2), Event('a'), Pause(3), Event('b'), Pause(4), Pause(5), Event('d') ])
def test_send(self): self.evaluator._execute_code('send("hello")') self.interpreter.queue.assert_called_with(InternalEvent('hello'))
def test_send(self): events = self.evaluator._execute_code('send("hello")') self.assertEqual(events, [InternalEvent('hello')])