rubyx/test/risc/test_padding.rb
Torsten Ruger ce3cc72f9e move all position setting into position
Position and subclasses handle the logic, external to
the classes, so it can be swapped out later
(at runtime positions can’t change)
2018-05-07 22:30:43 +03:00

50 lines
1.2 KiB
Ruby

require_relative "../helper"
module Risc
class TestPadding < MiniTest::Test
def setup
Risc.machine.boot unless Risc.machine.booted
end
def test_small
[6,27,28].each do |p|
assert_equal 32 , Padding.padded(p) , "Expecting 32 for #{p}"
end
end
def test_medium
[29,33,40,57,60].each do |p|
assert_equal 64 , Padding.padded(p) , "Expecting 64 for #{p}"
end
end
def test_large
[61,65,88].each do |p|
assert_equal 96 , Padding.padded(p) , "Expecting 96 for #{p}"
end
end
def test_list1
list = Parfait.new_list([1])
assert_equal 32 , list.padded_length
end
def test_list5
list = Parfait.new_list([1,2,3,4,5])
assert_equal 32 , list.padded_length
end
def test_type
type = Parfait::Type.for_hash Parfait.object_space.get_class_by_name(:Object) , {}
type.set_type( type )
assert_equal 32 , type.padded_length
end
def test_word
word = Parfait::Word.new(12)
assert_equal 32 , word.padded_length
end
def test_pos_arm
mov = Arm::ArmMachine.mov :r1, 128
Risc::Position.set(0,0)
end
end
end