Remove koans directory from source control.
[ruby_koans.git] / koans / about_classes.rb
diff --git a/koans/about_classes.rb b/koans/about_classes.rb
deleted file mode 100644 (file)
index 3fce646..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-require File.expand_path(File.dirname(__FILE__) + '/edgecase')
-
-class AboutClasses < EdgeCase::Koan
-  class Dog
-  end
-
-  def test_instances_of_classes_can_be_created_with_new
-    fido = Dog.new
-    assert_equal __, fido.class
-  end
-
-  # ------------------------------------------------------------------
-
-  class Dog2
-    def set_name(a_name)
-      @name = a_name
-    end
-  end
-
-  def test_instance_variables_can_be_set_by_assigning_to_them
-    fido = Dog2.new
-    assert_equal __, fido.instance_variables
-
-    fido.set_name("Fido")
-    assert_equal __, fido.instance_variables
-  end
-
-  def test_instance_variables_cannot_be_accessed_outside_the_class
-    fido = Dog2.new
-    fido.set_name("Fido")
-
-    assert_raise(___) do
-      fido.name
-    end
-
-    assert_raise(___) do
-      eval "fido.@name"
-      # NOTE: Using eval because the above line is a syntax error.
-    end
-  end
-
-  def test_you_can_politely_ask_for_instance_variable_values
-    fido = Dog2.new
-    fido.set_name("Fido")
-
-    assert_equal __, fido.instance_variable_get("@name")
-  end
-
-  def test_you_can_rip_the_value_out_using_instance_eval
-    fido = Dog2.new
-    fido.set_name("Fido")
-
-    assert_equal __, fido.instance_eval("@name")  # string version
-    assert_equal __, fido.instance_eval { @name } # block version
-  end
-
-  # ------------------------------------------------------------------
-
-  class Dog3
-    def set_name(a_name)
-      @name = a_name
-    end
-    def name
-      @name
-    end
-  end
-
-  def test_you_can_create_accessor_methods_to_return_instance_variables
-    fido = Dog3.new
-    fido.set_name("Fido")
-
-    assert_equal __, fido.name
-  end
-
-  # ------------------------------------------------------------------
-
-  class Dog4
-    attr_reader :name
-
-    def set_name(a_name)
-      @name = a_name
-    end
-  end
-
-
-  def test_attr_reader_will_automatically_define_an_accessor
-    fido = Dog4.new
-    fido.set_name("Fido")
-
-    assert_equal __, fido.name
-  end
-
-  # ------------------------------------------------------------------
-
-  class Dog5
-    attr_accessor :name
-  end
-
-
-  def test_attr_accessor_will_automatically_define_both_read_and_write_accessors
-    fido = Dog5.new
-
-    fido.name = "Fido"
-    assert_equal __, fido.name
-  end
-
-  # ------------------------------------------------------------------
-
-  class Dog6
-    attr_reader :name
-    def initialize(initial_name)
-      @name = initial_name
-    end
-  end
-
-  def test_initialize_provides_initial_values_for_instance_variables
-    fido = Dog6.new("Fido")
-    assert_equal __, fido.name
-  end
-
-  def test_args_to_new_must_match_initialize
-    assert_raise(___) do
-      Dog6.new
-    end
-    # THINK ABOUT IT:
-    # Why is this so?
-  end
-
-  def test_different_objects_have_different_instance_variables
-    fido = Dog6.new("Fido")
-    rover = Dog6.new("Rover")
-
-    assert_equal __, rover.name != fido.name
-  end
-
-  # ------------------------------------------------------------------
-
-  class Dog7
-    attr_reader :name
-
-    def initialize(initial_name)
-      @name = initial_name
-    end
-
-    def get_self
-      self
-    end
-
-    def to_s
-      __
-    end
-
-    def inspect
-      "<Dog named '#{name}'>"
-    end
-  end
-
-  def test_inside_a_method_self_refers_to_the_containing_object
-    fido = Dog7.new("Fido")
-
-    fidos_self = fido.get_self
-    assert_equal __, fidos_self
-  end
-
-  def test_to_s_provides_a_string_version_of_the_object
-    fido = Dog7.new("Fido")
-    assert_equal __, fido.to_s
-  end
-
-  def test_to_s_is_used_in_string_interpolation
-    fido = Dog7.new("Fido")
-    assert_equal __, "My dog is #{fido}"
-  end
-
-  def test_inspect_provides_a_more_complete_string_version
-    fido = Dog7.new("Fido")
-    assert_equal __, fido.inspect
-  end
-
-  def test_all_objects_support_to_s_and_inspect
-    array = [1,2,3]
-
-    assert_equal __, array.to_s
-    assert_equal __, array.inspect
-
-    assert_equal __, "STRING".to_s
-    assert_equal __, "STRING".inspect
-  end
-
-end