crete positions while collecting objects

clear two phase lifecycle for positions
always created invalid and set later
new does not auto add to cache
but create and get_or_create do
This commit is contained in:
Torsten Ruger
2018-06-15 21:54:21 +03:00
parent 2c765c8f14
commit 9c93b38b8f
5 changed files with 43 additions and 24 deletions

View File

@ -13,17 +13,23 @@ module Risc
end
def test_collect_all_types
Risc::Collector.collect_space.each do |id, objekt|
Risc::Collector.collect_space.each do |objekt , position|
next unless objekt.is_a?( Parfait::Type )
assert Parfait.object_space.get_type_for( objekt.hash ) , objekt.hash
end
end
def test_allowed_types
Risc::Collector.collect_space.each do |id, objekt|
Risc::Collector.collect_space.each do |objekt , position|
next if objekt.is_a?( Parfait::Object )
next if objekt.is_a?( Symbol )
assert_equal 1 , objekt.class
assert false
end
end
def test_positions
Risc::Collector.collect_space.each do |objekt , position|
assert_equal Position , position.class
assert !position.valid?
end
end
end

View File

@ -41,7 +41,7 @@ module Risc
@machine.position_all
end
def test_positions_set
@machine.object_positions.each do |id,obj|
@machine.object_positions.each do |obj , position|
assert Position.get(obj).valid? , "#{Position.get(obj)} , #{obj.object_id.to_s(16)}"
end
end
@ -71,8 +71,8 @@ module Risc
assert 0 != bin.get_word(0) , "index 0 is 0 #{bin.inspect}"
end
def test_positions_set
@machine.object_positions.each do |id,obj|
assert Position.get(obj).valid? , "#{Position.get(obj)} , #{obj.object_id.to_s(16)}"
@machine.object_positions.each do |obj,position|
assert position.valid? , "#{position} , #{obj.object_id.to_s(16)}"
end
end