little event mechanism for changed positions

This commit is contained in:
Torsten Ruger
2018-05-31 17:01:23 +03:00
parent 0e155315aa
commit 49849939a1
3 changed files with 47 additions and 1 deletions

View File

@ -48,5 +48,31 @@ module Risc
assert_equal 5 , pos.at
end
end
class TestPositionEvents < MiniTest::Test
def setup
@position = ObjectPosition.new(self,0)
end
def test_has_register
assert @position.register_listener(self)
end
def test_can_unregister
assert @position.register_listener(self)
assert @position.unregister_listener(self)
end
def test_fires
@position.register_listener(self)
@position.trigger
assert_equal @position , @trigger
end
def test_no_fire_after_unregister
assert @position.register_listener(self)
assert @position.unregister_listener(self)
@position.trigger
assert_nil @trigger
end
def position_changed(pos)
@trigger = pos
end
end
end
end