rubyx/test/risc/position/test_position.rb
2019-02-08 23:03:23 +02:00

46 lines
1.1 KiB
Ruby

require_relative "helper"
module Risc
# tests that do no require a boot and only test basic positioning
class TestPosition < MiniTest::Test
def setup
@pos = Position.new(self )
end
def test_new
assert @pos
end
def test_invalid
assert !@pos.valid?
end
def test_next_slot
Parfait.boot!(Parfait.default_test_options)
mov = Arm::ArmMachine.mov(:r1 , :r1)
position = Position.new(mov ).set(0)
assert_equal 4, position.next_slot
end
def test_has_get_code
assert_nil @pos.get_code
end
def test_has_listeners_helper
assert_equal Array , @pos.position_listeners.class
end
def test_has_trigger_inserted
assert_equal [] , @pos.trigger_inserted
end
def test_has_trigger_changed
assert_equal [] , @pos.trigger_changed
end
def test_listeners_empty
assert @pos.position_listeners.empty?
end
def test_has_listener_helper
@pos.position_listener( self )
assert_equal 1 , @pos.position_listeners.length
end
def test_set
assert_equal 0 , @pos.set(0).at
end
end
end