Sha256: 837140d04d3b8a03cade99347d54d191b91a29e4247d5d50c071b5dfc6f2a3b7

Contents?: true

Size: 965 Bytes

Versions: 5

Compression:

Stored size: 965 Bytes

Contents

require 'test_helper'
require 'simple_enum/enum_hash'

class EnumHashTest < ActiveSupport::TestCase  
  
  test "create new EnumHash instance from array of symbols" do
    genders = SimpleEnum::EnumHash.new [:male, :female]
    
    assert_same 0, genders[:male]
    assert_same 1, genders[:female]
    assert_same 0, genders.male
    assert_same :female, genders.female(true)
  end

  test "create new EnumHash instance from Hash" do
    status = SimpleEnum::EnumHash.new :inactive => 0, :active => 1, :archived => 99
    
    assert_same 0, status.inactive
    assert_same 1, status[:active]
  end
  
  test "create new EnumHash instance from ActiveRecord results" do
    reload_db :genders => true
    genders = SimpleEnum::EnumHash.new Gender.find(:all)
    
    male = Gender.find(0)
    
    assert_same 0, genders[male]
    assert_same genders[male], genders[:male]
    assert_same 1, genders.female
    assert_equal male, genders.send(:male, true)
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
lwe-simple_enum-0.3.0 test/enum_hash_test.rb
simple_enum-1.0.1 test/enum_hash_test.rb
simple_enum-1.0.0 test/enum_hash_test.rb
simple_enum-0.9.0 test/enum_hash_test.rb
simple_enum-0.3.0 test/enum_hash_test.rb