class StateWithCachedLambdaValueTest

Public Instance Methods

setup() click to toggle source
# File test/unit/state_test.rb, line 275
def setup
  @klass = Class.new
  @machine = StateMachine::Machine.new(@klass)
  @dynamic_value = lambda {'value'}
  @machine.states << @state = StateMachine::State.new(@machine, :parked, :value => @dynamic_value, :cache => true)
end
test_should_be_caching() click to toggle source
# File test/unit/state_test.rb, line 282
def test_should_be_caching
  assert @state.cache
end
test_should_evaluate_value() click to toggle source
# File test/unit/state_test.rb, line 286
def test_should_evaluate_value
  assert_equal 'value', @state.value
end
test_should_only_evaluate_value_once() click to toggle source
# File test/unit/state_test.rb, line 290
def test_should_only_evaluate_value_once
  value = @state.value
  assert_same value, @state.value
end
test_should_update_value_index_for_state_collection() click to toggle source
# File test/unit/state_test.rb, line 295
def test_should_update_value_index_for_state_collection
  @state.value
  assert_equal @state, @machine.states['value', :value]
  assert_nil @machine.states[@dynamic_value, :value]
end