little more tests
This commit is contained in:
parent
c940e25f91
commit
5a8d7d313f
@ -71,13 +71,9 @@ module Interpreter
|
|||||||
return unless @instruction
|
return unless @instruction
|
||||||
@clock += 1
|
@clock += 1
|
||||||
name = @instruction.class.name.split("::").last
|
name = @instruction.class.name.split("::").last
|
||||||
puts name
|
#puts @instruction
|
||||||
fetch = send "execute_#{name}"
|
fetch = send "execute_#{name}"
|
||||||
return unless fetch
|
return unless fetch
|
||||||
fetch_next_intruction
|
|
||||||
end
|
|
||||||
|
|
||||||
def fetch_next_intruction
|
|
||||||
set_instruction @instruction.next
|
set_instruction @instruction.next
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -149,7 +145,6 @@ module Interpreter
|
|||||||
def execute_FunctionReturn
|
def execute_FunctionReturn
|
||||||
object = object_for( @instruction.register )
|
object = object_for( @instruction.register )
|
||||||
link = object.internal_object_get( @instruction.index )
|
link = object.internal_object_get( @instruction.index )
|
||||||
puts "#{@instruction} #{object} link #{link}"
|
|
||||||
@instruction = link
|
@instruction = link
|
||||||
# we jump back to the call instruction. so it is as if the call never happened and we continue
|
# we jump back to the call instruction. so it is as if the call never happened and we continue
|
||||||
true
|
true
|
||||||
|
@ -56,5 +56,19 @@ module Register
|
|||||||
assert_equal @label, @instruction.next
|
assert_equal @label, @instruction.next
|
||||||
assert_equal 2 , @instruction.length , @instruction.to_ac
|
assert_equal 2 , @instruction.length , @instruction.to_ac
|
||||||
end
|
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
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user