Example #1
0
    def test_build_sequence_loop_false(self):
        sequencer = DummySequencer(DummySequencingHardware())
        block = DummyInstructionBlock()

        delegator = DummySequencingElement()
        body = DummySequencingElement()
        callback = IterationCallbackDummy(False)

        condition = SoftwareCondition(lambda loop_iteration: callback.callback(loop_iteration))
        condition.build_sequence_loop(delegator, body, sequencer, [], block)

        self.assertEqual(0, callback.loop_iteration)
        self.assertFalse(block.instructions)
        self.assertFalse(sequencer.sequencing_stacks)

        condition.build_sequence_loop(delegator, body, sequencer, [], block)
        self.assertEqual(0, callback.loop_iteration)