diff options
author | Joshua Peek <josh@joshpeek.com> | 2008-05-14 12:48:37 -0500 |
---|---|---|
committer | Joshua Peek <josh@joshpeek.com> | 2008-05-14 12:48:37 -0500 |
commit | 49846f85864f4b59d5593c30ee3c59b584d2975d (patch) | |
tree | 7f746da60755000b4281ce2b2969508c116c7d3b /activesupport/test/ordered_hash_test.rb | |
parent | 7708650f73ddb4db300ea2059c60c1d907a4384e (diff) | |
download | rails-49846f85864f4b59d5593c30ee3c59b584d2975d.tar.gz rails-49846f85864f4b59d5593c30ee3c59b584d2975d.tar.bz2 rails-49846f85864f4b59d5593c30ee3c59b584d2975d.zip |
Create a seperate file for ActiveSupport::OrderedHash.
Diffstat (limited to 'activesupport/test/ordered_hash_test.rb')
-rw-r--r-- | activesupport/test/ordered_hash_test.rb | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/activesupport/test/ordered_hash_test.rb b/activesupport/test/ordered_hash_test.rb new file mode 100644 index 0000000000..14be48724e --- /dev/null +++ b/activesupport/test/ordered_hash_test.rb @@ -0,0 +1,45 @@ +require 'abstract_unit' + +class OrderedHashTest < Test::Unit::TestCase + def setup + @keys = %w( blue green red pink orange ) + @values = %w( 000099 009900 aa0000 cc0066 cc6633 ) + @ordered_hash = ActiveSupport::OrderedHash.new + + @keys.each_with_index do |key, index| + @ordered_hash[key] = @values[index] + end + end + + def test_order + assert_equal @keys, @ordered_hash.keys + assert_equal @values, @ordered_hash.values + end + + def test_access + assert @keys.zip(@values).all? { |k, v| @ordered_hash[k] == v } + end + + def test_assignment + key, value = 'purple', '5422a8' + + @ordered_hash[key] = value + assert_equal @keys.length + 1, @ordered_hash.length + assert_equal key, @ordered_hash.keys.last + assert_equal value, @ordered_hash.values.last + assert_equal value, @ordered_hash[key] + end + + def test_delete + key, value = 'white', 'ffffff' + bad_key = 'black' + + @ordered_hash[key] = value + assert_equal @keys.length + 1, @ordered_hash.length + + assert_equal value, @ordered_hash.delete(key) + assert_equal @keys.length, @ordered_hash.length + + assert_nil @ordered_hash.delete(bad_key) + end +end |