Remove koans directory from source control.
[ruby_koans.git] / koans / about_symbols.rb
diff --git a/koans/about_symbols.rb b/koans/about_symbols.rb
deleted file mode 100644 (file)
index a88d6fe..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-require File.expand_path(File.dirname(__FILE__) + '/edgecase')
-
-class AboutSymbols < EdgeCase::Koan
-  def test_symbols_are_symbols
-    symbol = :ruby
-    assert_equal __, symbol.is_a?(Symbol)
-  end
-
-  def test_symbols_can_be_compared
-    symbol1 = :a_symbol
-    symbol2 = :a_symbol
-    symbol3 = :something_else
-
-    assert_equal __, symbol1 == symbol2
-    assert_equal __, symbol1 == symbol3
-  end
-
-  def test_identical_symbols_are_a_single_internal_object
-    symbol1 = :a_symbol
-    symbol2 = :a_symbol
-
-    assert_equal __, symbol1           == symbol2
-    assert_equal __, symbol1.object_id == symbol2.object_id
-  end
-
-  def test_method_names_become_symbols
-    symbols_as_strings = Symbol.all_symbols.map { |x| x.to_s }
-    assert_equal __, symbols_as_strings.include?("test_method_names_become_symbols")
-  end
-
-  # THINK ABOUT IT:
-  #
-  # Why do we convert the list of symbols to strings and then compare
-  # against the string value rather than against symbols?
-
-  in_ruby_version("mri") do
-    RubyConstant = "What is the sound of one hand clapping?"
-    def test_constants_become_symbols
-      all_symbols = Symbol.all_symbols
-
-      assert_equal __, all_symbols.include?(__)
-    end
-  end
-
-  def test_symbols_can_be_made_from_strings
-    string = "catsAndDogs"
-    assert_equal __, string.to_sym
-  end
-
-  def test_symbols_with_spaces_can_be_built
-    symbol = :"cats and dogs"
-
-    assert_equal symbol, __.to_sym
-  end
-
-  def test_symbols_with_interpolation_can_be_built
-    value = "and"
-    symbol = :"cats #{value} dogs"
-
-    assert_equal symbol, __.to_sym
-  end
-
-  def test_to_s_is_called_on_interpolated_symbols
-    symbol = :cats
-    string = "It is raining #{symbol} and dogs."
-
-    assert_equal __, string
-  end
-
-  def test_symbols_are_not_strings
-    symbol = :ruby
-    assert_equal __, symbol.is_a?(String)
-    assert_equal __, symbol.eql?("ruby")
-  end
-
-  def test_symbols_do_not_have_string_methods
-    symbol = :not_a_string
-    assert_equal __, symbol.respond_to?(:each_char)
-    assert_equal __, symbol.respond_to?(:reverse)
-  end
-
-  # It's important to realize that symbols are not "immutable
-  # strings", though they are immutable. None of the
-  # interesting string operations are available on symbols.
-
-  def test_symbols_cannot_be_concatenated
-    # Exceptions will be pondered further down the path
-    assert_raise(___) do
-      :cats + :dogs
-    end
-  end
-
-  def test_symbols_can_be_dynamically_created
-    assert_equal __, ("cats" + "dogs").to_sym
-  end
-
-  # THINK ABOUT IT:
-  #
-  # Why is it not a good idea to dynamically create a lot of symbols?
-end