require_relative "helper" module Parfait class TestMessage < ParfaitTest def setup super @mess = @space.get_next_for(:Message) end def test_args_start assert_equal 8 , Message.args_start_at end def test_locals_start assert_equal 15 , Message.locals_start_at end def test_length assert_equal 31 , @mess.get_type.instance_length , @mess.get_type.inspect end def test_attribute_set @mess.set_receiver( 55 ) # 55 is not parfait, hance not actually allowed assert_equal 55 , @mess.receiver end def test_indexed_arg assert_equal 8 , @mess.get_type.variable_index(:arguments_given) assert_equal 9 , @mess.get_type.variable_index(:arg1) assert_equal 13 , @mess.get_type.variable_index(:arg5) end def test_indexed_local assert_equal 15 , @mess.get_type.variable_index(:locals_used) assert_equal 16 , @mess.get_type.variable_index(:local1) assert_equal 30 , @mess.get_type.variable_index(:local15) end def test_next_message assert_equal Message , @mess.next_message.class end def test_locals assert_equal Integer , @mess.locals_used.class end def test_arguments assert_equal Integer , @mess.arguments_given.class end def test_return_address assert_nil @mess.return_address end def test_return_value assert_nil @mess.return_value end def test_caller assert_nil @mess.caller end def test_method assert_nil @mess.method end end end