fixed simple layout offset bug in layout

This commit is contained in:
Torsten Ruger
2015-10-13 14:46:07 +03:00
parent aa20f2ca77
commit 80d58ee03c
9 changed files with 132 additions and 17 deletions

View File

@ -16,7 +16,7 @@ class TestLayout < MiniTest::Test
def test_message_by_index
assert_equal @mess.next_message , @mess.get_instance_variable(:next_message)
index = @mess.get_layout.variable_index :next_message
assert_equal 2 , index
assert_equal 3 , index
assert_equal @mess.next_message , @mess.internal_object_get(index)
end
@ -24,13 +24,26 @@ class TestLayout < MiniTest::Test
assert_equal @mess.get_layout , @mess.internal_object_get(1) , "mess"
end
def test_no_index_below_2
def test_layout_is_first
layout = @mess.get_layout
assert_equal nil , layout.variable_index(:layout)
end
def test_no_index_below_1
layout = @mess.get_layout
names = layout.object_instance_names
assert_equal 7 , names.get_length
assert_equal 7 , names.get_length , names.inspect
names.each do |n|
assert layout.variable_index(n) > 1
assert layout.variable_index(n) >= 1
end
end
def test_class_layout
oc = Virtual.machine.boot.space.get_class_by_name( :Object )
assert_equal Parfait::Class , oc.class
layout = oc.object_layout
assert_equal Parfait::Layout , layout.class
assert_equal layout.object_instance_names.get_length , 0
#assert_equal layout.first , :layout
end
end