Sha256: 65e82d028d233f417de7ceda453014b79c3b336b9c72fe7e2e8b941a2488f2c6
Contents?: true
Size: 1.91 KB
Versions: 2
Compression:
Stored size: 1.91 KB
Contents
require "helper" class TestStateTransitionGuardCheck < Test::Unit::TestCase args = [:foo, "bar"] test "should return true of there is no guard" do opts = {:from => "foo", :to => "bar"} st = Transitions::StateTransition.new(opts) assert st.executable?(nil, *args) end test "should call the method on the object if guard is a symbol" do opts = {:from => "foo", :to => "bar", :guard => :test_guard} st = Transitions::StateTransition.new(opts) obj = stub obj.expects(:test_guard).with(*args) st.executable?(obj, *args) end test "should call the method on the object if guard is a string" do opts = {:from => "foo", :to => "bar", :guard => "test_guard"} st = Transitions::StateTransition.new(opts) obj = stub obj.expects(:test_guard).with(*args) st.executable?(obj, *args) end test "should call the proc passing the object if the guard is a proc" do opts = {:from => "foo", :to => "bar", :guard => Proc.new {|o, *args| o.test_guard(*args)}} st = Transitions::StateTransition.new(opts) obj = stub obj.expects(:test_guard).with(*args) st.executable?(obj, *args) end test "should call the callable passing the object if the guard responds to #call" do callable = Object.new callable.define_singleton_method(:call) { |obj, *args| obj.test_guard(*args) } opts = {:from => "foo", :to => "bar", :guard => callable } st = Transitions::StateTransition.new(opts) obj = stub obj.expects(:test_guard).with(*args) st.executable?(obj, *args) end test "should call the method on the object if guard is a symbol" do opts = {:from => "foo", :to => "bar", :guard => [:test_guard, :test_another_guard] } st = Transitions::StateTransition.new(opts) obj = stub obj.expects(:test_guard).with(*args).returns(true) obj.expects(:test_another_guard).with(*args).returns(true) assert st.executable?(obj, *args) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
transitions-0.2.0 | test/state_transition/test_state_transition_guard_check.rb |
transitions-0.1.13 | test/state_transition/test_state_transition_guard_check.rb |