def test_leave_s(self): from VM import VM from MethodDefinition import MethodDefinition vm = VM() m = MethodDefinition() x = ldc('i4.1') m.instructions.append(x) m.instructions.append(x) m.instructions.append(x) dest = ldc('i4.3') dest.label = 'zzz' m.instructions.append(dest) vm.set_current_method(m) x = leave('s zzz') x.execute(vm) index = vm.get_instruction_pointer() self.assertEqual(3, index);
def test_br(self): from VM import VM from MethodDefinition import MethodDefinition vm = VM() m = MethodDefinition() x = ldc('i4.1') m.instructions.append(x) m.instructions.append(x) m.instructions.append(x) dest = ldc('i4.3') dest.label = 'asdf' m.instructions.append(dest) vm.set_current_method(m) x = br('asdf') # fixme optional parameters x.execute(vm) index = vm.get_instruction_pointer() self.assertEqual(3, index);
def test_br_s(self): from VM import VM from MethodDefinition import MethodDefinition vm = VM() m = MethodDefinition() x = ldc('i4.1') m.instructions.append(x) m.instructions.append(x) m.instructions.append(x) dest = ldc('i4.3') dest.label = 'zzz' m.instructions.append(dest) vm.set_current_method(m) x = br('s zzz') x.execute(vm) index = vm.get_instruction_pointer() self.assertEqual(3, index)
def test_leave(self): from VM import VM from MethodDefinition import MethodDefinition vm = VM() m = MethodDefinition() x = ldc('i4.1') m.instructions.append(x) m.instructions.append(x) m.instructions.append(x) dest = ldc('i4.3') dest.label = 'asdf' m.instructions.append(dest) vm.set_current_method(m) x = leave('asdf') # fixme optional parameters x.execute(vm) index = vm.get_instruction_pointer() self.assertEqual(3, index)
def test_execute_true_s(self): from VM import VM from MethodDefinition import MethodDefinition vm = VM() m = MethodDefinition() x = ldc('i4.1') m.instructions.append(x) m.instructions.append(x) m.instructions.append(x) dest = ldc('i4.3') dest.label = 'asdf' m.instructions.append(dest) vm.set_current_method(m) vm.stack.push(Variable(1)) x = brtrue('s asdf') # fixme optional parameters x.execute(vm) index = vm.get_instruction_pointer() self.assertEqual(3, index); self.assertEqual(vm.stack.count(), 0)
def test_execute_true_s(self): from VM import VM from MethodDefinition import MethodDefinition vm = VM() m = MethodDefinition() x = ldc('i4.1') m.instructions.append(x) m.instructions.append(x) m.instructions.append(x) dest = ldc('i4.3') dest.label = 'asdf' m.instructions.append(dest) vm.set_current_method(m) vm.stack.push(Variable(1)) x = brtrue('s asdf') # fixme optional parameters x.execute(vm) index = vm.get_instruction_pointer() self.assertEqual(3, index) self.assertEqual(vm.stack.count(), 0)