little more tests

This commit is contained in:
Torsten Ruger 2015-11-03 11:23:15 +02:00
parent c940e25f91
commit 5a8d7d313f
2 changed files with 15 additions and 6 deletions

View File

@ -71,13 +71,9 @@ module Interpreter
return unless @instruction
@clock += 1
name = @instruction.class.name.split("::").last
puts name
#puts @instruction
fetch = send "execute_#{name}"
return unless fetch
fetch_next_intruction
end
def fetch_next_intruction
set_instruction @instruction.next
end
@ -149,7 +145,6 @@ module Interpreter
def execute_FunctionReturn
object = object_for( @instruction.register )
link = object.internal_object_get( @instruction.index )
puts "#{@instruction} #{object} link #{link}"
@instruction = link
# we jump back to the call instruction. so it is as if the call never happened and we continue
true

View File

@ -56,5 +56,19 @@ module Register
assert_equal @label, @instruction.next
assert_equal 2 , @instruction.length , @instruction.to_ac
end
def test_each_label1
@instruction.set_next @label
start = Label.new("test" , "test" , @instruction)
count = 0
start.each_label { |l| count += 1 }
assert_equal 2 , count
end
def test_each_label2
@instruction.set_next @branch
start = Label.new("test" , "test" , @instruction)
count = 0
start.each_label { |l| count += 1 }
assert_equal 2 , count
end
end
end