Remove koans directory from source control.
[ruby_koans.git] / koans / about_iteration.rb
diff --git a/koans/about_iteration.rb b/koans/about_iteration.rb
deleted file mode 100644 (file)
index fb62b39..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-require File.expand_path(File.dirname(__FILE__) + '/edgecase')
-
-class AboutIteration < EdgeCase::Koan
-
-  # -- An Aside ------------------------------------------------------
-  # Ruby 1.8 stores names as strings. Ruby 1.9 stores names as
-  # symbols. So we use a version dependent method "as_name" to convert
-  # to the right format in the koans.  We will use "as_name" whenever
-  # comparing to lists of methods.
-
-  in_ruby_version("1.8") do
-    def as_name(name)
-      name.to_s
-    end
-  end
-
-  in_ruby_version("1.9") do
-    def as_name(name)
-      name.to_sym
-    end
-  end
-
-  # Ok, now back to the Koans.
-  # -------------------------------------------------------------------
-
-  def test_each_is_a_method_on_arrays
-    assert_equal __, [].methods.include?(as_name(:each))
-  end
-
-  def test_iterating_with_each
-    array = [1, 2, 3]
-    sum = 0
-    array.each do |item|
-      sum += item
-    end
-    assert_equal __, sum
-  end
-
-  def test_each_can_use_curly_brace_blocks_too
-    array = [1, 2, 3]
-    sum = 0
-    array.each { |item|
-      sum += item
-    }
-    assert_equal __, sum
-  end
-
-  def test_break_works_with_each_style_iterations
-    array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
-    sum = 0
-    array.each { |item|
-      break if item > 3
-      sum += item
-    }
-    assert_equal __, sum
-  end
-
-  def test_collect_transforms_elements_of_an_array
-    array = [1, 2, 3]
-    new_array = array.collect { |item| item + 10 }
-    assert_equal __, new_array
-
-    # NOTE: 'map' is another name for the 'collect' operation
-    another_array = array.map { |item| item + 10 }
-    assert_equal __, another_array
-  end
-
-  def test_select_selects_certain_items_from_an_array
-    array = [1, 2, 3, 4, 5, 6]
-
-    even_numbers = array.select { |item| (item % 2) == 0 }
-    assert_equal __, even_numbers
-
-    # NOTE: 'find_all' is another name for the 'select' operation
-    more_even_numbers = array.find_all { |item| (item % 2) == 0 }
-    assert_equal __, more_even_numbers
-  end
-
-  def test_find_locates_the_first_element_matching_a_criteria
-    array = ["Jim", "Bill", "Clarence", "Doug", "Eli"]
-
-    assert_equal __, array.find { |item| item.size > 4 }
-  end
-
-  def test_inject_will_blow_your_mind
-    result = [2, 3, 4].inject(0) { |sum, item| sum + item }
-    assert_equal __, result
-
-    result2 = [2, 3, 4].inject(1) { |sum, item| sum * item }
-    assert_equal __, result2
-
-    # Extra Credit:
-    # Describe in your own words what inject does.
-  end
-
-  def test_all_iteration_methods_work_on_any_collection_not_just_arrays
-    # Ranges act like a collection
-    result = (1..3).map { |item| item + 10 }
-    assert_equal __, result
-
-    # Files act like a collection of lines
-    File.open("example_file.txt") do |file|
-      upcase_lines = file.map { |line| line.strip.upcase }
-      assert_equal __, upcase_lines
-    end
-
-    # NOTE: You can create your own collections that work with each,
-    # map, select, etc.
-  end
-
-  # Bonus Question:  In the previous koan, we saw the construct:
-  #
-  #   File.open(filename) do |file|
-  #     # code to read 'file'
-  #   end
-  #
-  # Why did we do it that way instead of the following?
-  #
-  #   file = File.open(filename)
-  #   # code to read 'file'
-  #
-  # When you get to the "AboutSandwichCode" koan, recheck your answer.
-
-end