Example #1
0
    def test_evaluate_script(self):
        my_stack = Stack()
        my_stack.set_script(self.script_simple_addition)
        stack = my_stack.evaluate()
        self.assertEqual(1, len(stack))
        self.assertEqual('\x05', stack[0])

        my_stack.set_script(self.script_push_dup)
        stack = my_stack.evaluate()
        self.assertEqual(2, len(stack))
        self.assertEqual('\x80', stack[0])
        self.assertEqual('\x80', stack[1])
Example #2
0
    def test_step_script(self):
        # dict of {script: [stackAtStep0, stackAtStep1, ...], ...}
        step_tests = {
            self.script_simple_addition: [['\x02'], ['\x02', '\x03'],
                                          ['\x05']],
            self.script_push_dup: [['\x80'], ['\x80', '\x80']]
        }

        my_stack = Stack()
        for my_script, expected_states in step_tests.items():
            my_stack.set_script(my_script)
            iterator = my_stack.step()
            for i in expected_states:
                stack_state, _ = iterator.next()
                self.assertEqual(i, stack_state)
Example #3
0
 def init_data(self):
     self.stack = Stack()
     self.step_counter = -1
Example #4
0
 def init_data(self):
     self.stack = Stack()
     self.step_counter = -1
     self.tx = None
     self.inIdx = 0