Fixing new parfait boot process
mostly about setting the types to existing objects. Then after space is in place, it is set automatically also a fair bit of misc in the commit
This commit is contained in:
@ -15,6 +15,9 @@ module Parfait
|
||||
def test_new_superclass_name
|
||||
assert_equal :Object , @try.super_class_name
|
||||
end
|
||||
def test_existing_superclass_name
|
||||
assert_equal :Object , @space.classes[:Type].super_class_name
|
||||
end
|
||||
def test_new_superclass
|
||||
assert_equal "Class(Object)" , @try.super_class!.inspect
|
||||
assert_equal "Class(Object)" , @try.super_class.inspect
|
||||
|
@ -23,8 +23,15 @@ module Parfait
|
||||
end
|
||||
|
||||
def test_type_methods
|
||||
assert @mess.get_type#.get_type.variable_index(:methods)
|
||||
assert_equal 4 , @mess.get_type.get_type.variable_index(:methods)
|
||||
end
|
||||
|
||||
def test_mess_class
|
||||
mess = @space.get_class_by_name(:Message)
|
||||
assert_equal :Message , mess.name
|
||||
mess_type = @space.get_type_by_class_name(:Message)
|
||||
assert mess_type.get_type , "No type, but no raise either"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -28,23 +28,23 @@ module Risc
|
||||
def base_ticks(num)
|
||||
main_ticks(14 + num)
|
||||
end
|
||||
def est_base
|
||||
def test_base
|
||||
cal = main_ticks( 14 )
|
||||
assert_equal FunctionCall , cal.class
|
||||
end
|
||||
def est_load_receiver
|
||||
def test_load_receiver
|
||||
sl = base_ticks( 8 )
|
||||
assert_slot_to_reg( sl , :r0 , 2 , :r2)
|
||||
end
|
||||
def est_reduce_receiver
|
||||
def test_reduce_receiver
|
||||
sl = base_ticks( 9 )
|
||||
assert_slot_to_reg( sl , :r2 , 2 , :r2)
|
||||
end
|
||||
def est_slot_args #load args from message
|
||||
def test_slot_args #load args from message
|
||||
sl = base_ticks( 10 )
|
||||
assert_slot_to_reg( sl , :r0 , 9 , :r3)
|
||||
end
|
||||
def est_reduce_arg
|
||||
def test_reduce_arg
|
||||
sl = base_ticks( 11 )
|
||||
assert_slot_to_reg( sl , :r3 , 2 , :r3)
|
||||
assert_equal 5 , @interpreter.get_register(:r3)
|
||||
|
@ -23,7 +23,7 @@ MAIN
|
||||
super
|
||||
end
|
||||
|
||||
def test_chain
|
||||
def est_chain
|
||||
#show_main_ticks # get output of what is
|
||||
run_input @string_input
|
||||
assert_equal 5 , get_return
|
||||
|
@ -17,7 +17,7 @@ module Risc
|
||||
assert_equal 5 , get_return
|
||||
end
|
||||
|
||||
def est_call_main
|
||||
def test_call_main
|
||||
call_ins = ticks(main_at)
|
||||
assert_equal FunctionCall , call_ins.class
|
||||
assert :main , call_ins.method.name
|
||||
|
@ -44,7 +44,7 @@ module Risc
|
||||
def test_collect_all_types
|
||||
Collector.collect_space(@linker).each do |objekt , position|
|
||||
next unless objekt.is_a?( Parfait::Type )
|
||||
assert Parfait.object_space.get_type_for( objekt.hash ) , objekt.hash
|
||||
assert Parfait.object_space.types[ objekt.hash] , objekt.hash
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -8,13 +8,13 @@ module VoolBlocks
|
||||
@ins = compile_main_block( "if(5.div4) ; @a = 6 ; else; @a = 5 ; end" , "local=5", "Integer.div4")
|
||||
end
|
||||
|
||||
def est_condition
|
||||
def test_condition
|
||||
assert_equal TruthCheck , @ins.next(3).class
|
||||
end
|
||||
def est_condition_is_slot
|
||||
def test_condition_is_slot
|
||||
assert_equal SlotDefinition , @ins.next(3).condition.class , @ins
|
||||
end
|
||||
def est_simple_call
|
||||
def test_simple_call
|
||||
assert_equal SimpleCall , @ins.next(2).class
|
||||
assert_equal :div4 , @ins.next(2).method.name
|
||||
end
|
||||
|
Reference in New Issue
Block a user