still fixing index bugs

the indexed_length got written wrong
which is why the layout methods didn’t work
Now all indexes are 1 based, even fake men, where we just ignore 0
This commit is contained in:
Torsten Ruger
2015-10-26 14:33:36 +02:00
parent 9f4952b5ac
commit 885aa765d6
10 changed files with 36 additions and 23 deletions

View File

@ -21,7 +21,7 @@ class TestLayout < MiniTest::Test
end
def test_layout_index
assert_equal @mess.get_layout , @mess.internal_object_get(0) , "mess"
assert_equal @mess.get_layout , @mess.internal_object_get(Parfait::LAYOUT_INDEX) , "mess"
end
def test_inspect
@ -73,6 +73,6 @@ class TestLayout < MiniTest::Test
def test_remove_me
layout = @mess.get_layout
assert_equal layout , @mess.internal_object_get(0)
assert_equal layout , @mess.internal_object_get(1)
end
end

View File

@ -37,10 +37,18 @@ class TestList < MiniTest::Test
assert_equal 0 , @list.get_length
assert_equal nil , @list.indexed_length
end
def test_offset
assert_equal 2 , @list.get_offset
end
def test_indexed_index
# 1 layout , 2 indexed_length
assert_equal 2 , @list.get_layout.variable_index(:indexed_length)
end
def test_length1
@list.push :one
assert_equal 1 , @list.get_length
assert_equal 1 , @list.indexed_length
assert_equal 1 , @list.internal_object_get(Parfait::LAYOUT_INDEX + 1)
end
def test_list_inspect
@list.set(1,1)

View File

@ -5,6 +5,7 @@ class TestMeta < MiniTest::Test
def setup
@space = Register.machine.boot.space
@try = @space.create_class(:Try , :Object).meta
puts @try.class
end
def foo_method for_class = :Try
@ -12,17 +13,13 @@ class TestMeta < MiniTest::Test
::Parfait::Method.new @space.get_class_by_name(for_class) , :foo , args
end
def pest_meta
def test_meta
assert @try
end
def pest_meta_object
def test_meta_object
assert @space.get_class_by_name(:Object).meta
end
def pest_new_superclass
assert_equal Parfait::MetaClass , @try.super_class.class
assert_equal :MetaObject , @try.super_class.name
end
def pest_new_methods
assert_equal @try.method_names.class, @try.instance_methods.class
assert_equal @try.method_names.get_length , @try.instance_methods.get_length