Remove koans directory from source control.
[ruby_koans.git] / koans / about_proxy_object_project.rb
diff --git a/koans/about_proxy_object_project.rb b/koans/about_proxy_object_project.rb
deleted file mode 100644 (file)
index 064eb68..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-require File.expand_path(File.dirname(__FILE__) + '/edgecase')
-
-# Project: Create a Proxy Class
-#
-# In this assignment, create a proxy class (one is started for you
-# below).  You should be able to initialize the proxy object with any
-# object.  Any messages sent to the proxy object should be forwarded
-# to the target object.  As each message is sent, the proxy should
-# record the name of the method sent.
-#
-# The proxy class is started for you.  You will need to add a method
-# missing handler and any other supporting methods.  The specification
-# of the Proxy class is given in the AboutProxyObjectProject koan.
-
-class Proxy
-  def initialize(target_object)
-    @object = target_object
-    # ADD MORE CODE HERE
-  end
-
-  # WRITE CODE HERE
-end
-
-# The proxy object should pass the following Koan:
-#
-class AboutProxyObjectProject < EdgeCase::Koan
-  def test_proxy_method_returns_wrapped_object
-    # NOTE: The Television class is defined below
-    tv = Proxy.new(Television.new)
-
-    # HINT: Proxy class is defined above, may need tweaking...
-
-    assert tv.instance_of?(Proxy)
-  end
-
-  def test_tv_methods_still_perform_their_function
-    tv = Proxy.new(Television.new)
-
-    tv.channel = 10
-    tv.power
-
-    assert_equal 10, tv.channel
-    assert tv.on?
-  end
-
-  def test_proxy_records_messages_sent_to_tv
-    tv = Proxy.new(Television.new)
-
-    tv.power
-    tv.channel = 10
-
-    assert_equal [:power, :channel=], tv.messages
-  end
-
-  def test_proxy_handles_invalid_messages
-    tv = Proxy.new(Television.new)
-
-    assert_raise(NoMethodError) do
-      tv.no_such_method
-    end
-  end
-
-  def test_proxy_reports_methods_have_been_called
-    tv = Proxy.new(Television.new)
-
-    tv.power
-    tv.power
-
-    assert tv.called?(:power)
-    assert ! tv.called?(:channel)
-  end
-
-  def test_proxy_counts_method_calls
-    tv = Proxy.new(Television.new)
-
-    tv.power
-    tv.channel = 48
-    tv.power
-
-    assert_equal 2, tv.number_of_times_called(:power)
-    assert_equal 1, tv.number_of_times_called(:channel=)
-    assert_equal 0, tv.number_of_times_called(:on?)
-  end
-
-  def test_proxy_can_record_more_than_just_tv_objects
-    proxy = Proxy.new("Code Mash 2009")
-
-    proxy.upcase!
-    result = proxy.split
-
-    assert_equal ["CODE", "MASH", "2009"], result
-    assert_equal [:upcase!, :split], proxy.messages
-  end
-end
-
-
-# ====================================================================
-# The following code is to support the testing of the Proxy class.  No
-# changes should be necessary to anything below this comment.
-
-# Example class using in the proxy testing above.
-class Television
-  attr_accessor :channel
-
-  def power
-    if @power == :on
-      @power = :off
-    else
-      @power = :on
-    end
-  end
-
-  def on?
-    @power == :on
-  end
-end
-
-# Tests for the Television class.  All of theses tests should pass.
-class TelevisionTest < EdgeCase::Koan
-  def test_it_turns_on
-    tv = Television.new
-
-    tv.power
-    assert tv.on?
-  end
-
-  def test_it_also_turns_off
-    tv = Television.new
-
-    tv.power
-    tv.power
-
-    assert ! tv.on?
-  end
-
-  def test_edge_case_on_off
-    tv = Television.new
-
-    tv.power
-    tv.power
-    tv.power
-
-    assert tv.on?
-
-    tv.power
-
-    assert ! tv.on?
-  end
-
-  def test_can_set_the_channel
-    tv = Television.new
-
-    tv.channel = 11
-    assert_equal 11, tv.channel
-  end
-end