Sha256: 4d1e3bcde97aca3c4d5bb001c8642497d7083e45e07d3f1dca3e5bb8500aa397

Contents?: true

Size: 1.28 KB

Versions: 2

Compression:

Stored size: 1.28 KB

Contents

# Comparing state values

require 'lib/maintain'

describe Maintain do
  before :each do
    class MaintainTest
      attr_accessor :existant_attribute
      extend Maintain
    end
  end

  describe "setting" do
    describe "string states" do
      before :each do
        MaintainTest.maintain :state do
          state :new
          state :overdue
          state :closed
        end
        @maintainer = MaintainTest.new
      end

      it "should, you know, work" do
        @maintainer.state = :new
        @maintainer.state.should == :new
        @maintainer.state = 'new'
        @maintainer.state.should == :new
        @maintainer.state = 0
        @maintainer.state.should == :new
        @maintainer.state = 'nada'
        @maintainer.state.should be_nil
      end
    end

    describe "integer states" do
      before :each do
        MaintainTest.maintain :state do
          state :new, 1
          state :overdue, 2
          state :closed, 3
        end
        @maintainer = MaintainTest.new
      end

      it "should, you know, work" do
        @maintainer.state = 1
        @maintainer.state.should == :new
        @maintainer.state = 'new'
        @maintainer.state.should == :new
        @maintainer.state = :new
        @maintainer.state.should == :new
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
maintain-0.1.1 spec/setting_state_spec.rb
maintain-0.1.0 spec/setting_state_spec.rb