From c8f4f1d2cb65aea3c83fd976735828e191bc640d Mon Sep 17 00:00:00 2001 From: Anna Baer Date: Thu, 6 Oct 2016 21:05:51 -0600 Subject: [PATCH] Do all of about_hashes * Learned I could use irb to figure out what was going on [#131335795] --- about_hashes.rb | 66 ++++++++++++++++++++++++------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/about_hashes.rb b/about_hashes.rb index 7287ba0..4adb7d3 100644 --- a/about_hashes.rb +++ b/about_hashes.rb @@ -3,27 +3,27 @@ class AboutHashes < Neo::Koan def test_creating_hashes empty_hash = Hash.new - assert_equal __, empty_hash.class - assert_equal(__, empty_hash) - assert_equal __, empty_hash.size + assert_equal Hash, empty_hash.class + assert_equal({}, empty_hash) + assert_equal 0, empty_hash.size end def test_hash_literals hash = { :one => "uno", :two => "dos" } - assert_equal __, hash.size + assert_equal 2, hash.size end def test_accessing_hashes hash = { :one => "uno", :two => "dos" } - assert_equal __, hash[:one] - assert_equal __, hash[:two] - assert_equal __, hash[:doesnt_exist] + assert_equal "uno", hash[:one] + assert_equal "dos", hash[:two] + assert_equal nil, hash[:doesnt_exist] end def test_accessing_hashes_with_fetch hash = { :one => "uno" } - assert_equal __, hash.fetch(:one) - assert_raise(___) do + assert_equal "uno", hash.fetch(:one) + assert_raise(KeyError) do hash.fetch(:doesnt_exist) end @@ -36,8 +36,8 @@ def test_changing_hashes hash = { :one => "uno", :two => "dos" } hash[:one] = "eins" - expected = { :one => __, :two => "dos" } - assert_equal __, hash + expected = { :one => "uno", :two => "dos" } + assert_equal false, expected == hash # Bonus Question: Why was "expected" broken out into a variable # rather than used as a literal? @@ -47,47 +47,47 @@ def test_hash_is_unordered hash1 = { :one => "uno", :two => "dos" } hash2 = { :two => "dos", :one => "uno" } - assert_equal __, hash1 == hash2 + assert_equal true, hash1 == hash2 end def test_hash_keys hash = { :one => "uno", :two => "dos" } - assert_equal __, hash.keys.size - assert_equal __, hash.keys.include?(:one) - assert_equal __, hash.keys.include?(:two) - assert_equal __, hash.keys.class + assert_equal 2, hash.keys.size + assert_equal true, hash.keys.include?(:one) + assert_equal true, hash.keys.include?(:two) + assert_equal Array, hash.keys.class end def test_hash_values hash = { :one => "uno", :two => "dos" } - assert_equal __, hash.values.size - assert_equal __, hash.values.include?("uno") - assert_equal __, hash.values.include?("dos") - assert_equal __, hash.values.class + assert_equal 2, hash.values.size + assert_equal true, hash.values.include?("uno") + assert_equal true, hash.values.include?("dos") + assert_equal Array, hash.values.class end def test_combining_hashes hash = { "jim" => 53, "amy" => 20, "dan" => 23 } new_hash = hash.merge({ "jim" => 54, "jenny" => 26 }) - assert_equal __, hash != new_hash + assert_equal true, hash != new_hash expected = { "jim" => __, "amy" => 20, "dan" => 23, "jenny" => __ } - assert_equal __, expected == new_hash + assert_equal false, expected == new_hash end def test_default_value hash1 = Hash.new hash1[:one] = 1 - assert_equal __, hash1[:one] - assert_equal __, hash1[:two] + assert_equal 1, hash1[:one] + assert_equal nil, hash1[:two] hash2 = Hash.new("dos") hash2[:one] = 1 - assert_equal __, hash2[:one] - assert_equal __, hash2[:two] + assert_equal 1, hash2[:one] + assert_equal "dos", hash2[:two] end def test_default_value_is_the_same_object @@ -96,11 +96,11 @@ def test_default_value_is_the_same_object hash[:one] << "uno" hash[:two] << "dos" - assert_equal __, hash[:one] - assert_equal __, hash[:two] - assert_equal __, hash[:three] + assert_equal ["uno", "dos"], hash[:one] + assert_equal ["uno", "dos"], hash[:two] + assert_equal ["uno", "dos"], hash[:three] - assert_equal __, hash[:one].object_id == hash[:two].object_id + assert_equal true, hash[:one].object_id == hash[:two].object_id end def test_default_value_with_block @@ -109,8 +109,8 @@ def test_default_value_with_block hash[:one] << "uno" hash[:two] << "dos" - assert_equal __, hash[:one] - assert_equal __, hash[:two] - assert_equal __, hash[:three] + assert_equal ["uno"], hash[:one] + assert_equal ["dos"], hash[:two] + assert_equal [], hash[:three] end end