UPdated koans to match latest source.

This commit is contained in:
Jim Weirich
2010-08-16 15:06:12 -04:00
parent 7046294343
commit 8ef93f1d3a
29 changed files with 78 additions and 57 deletions

View File

@@ -7,6 +7,6 @@ require 'rake/testtask'
task :default => :test
task :test do
ruby 'path_to_enlightenment.rb'
ruby '-I.', 'path_to_enlightenment.rb'
end

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutArrayAssignment < EdgeCase::Koan
def test_non_parallel_assignment

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutArrays < EdgeCase::Koan
def test_creating_arrays

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env ruby
# -*- ruby -*-
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutAsserts < EdgeCase::Koan

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutBlocks < EdgeCase::Koan
def method_with_block

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutClassMethods < EdgeCase::Koan
class Dog

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutClasses < EdgeCase::Koan
class Dog

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
C = "top level"
@@ -83,5 +83,5 @@ class AboutConstants < EdgeCase::Koan
# QUESTION: Now Which has precedence: The constant in the lexical
# scope, or the constant from the inheritance heirarachy? Why is it
# different?
# different than the previous answer?
end

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutControlStatements < EdgeCase::Koan

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class DiceSet
attr_reader :values

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutExceptions < EdgeCase::Koan

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutHashes < EdgeCase::Koan
def test_creating_hashes

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutInheritance < EdgeCase::Koan
class Dog

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutIteration < EdgeCase::Koan

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutMessagePassing < EdgeCase::Koan

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
def my_global_method(a,b)
a + b

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutModules < EdgeCase::Koan
module Nameable

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutNil < EdgeCase::Koan
def test_nil_is_an_object

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutOpenClasses < EdgeCase::Koan
class Dog

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
# Project: Create a Proxy Class
#

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutUsingBlocks < EdgeCase::Koan

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutScope < EdgeCase::Koan
module Jims

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
# Greed is a dice game where you roll up to five dice to accumulate
# points. The following "score" function will be used calculate the

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutStrings < EdgeCase::Koan
def test_double_quoted_strings_are_strings
@@ -146,12 +146,21 @@ EOS
# Surprised?
end
def test_single_characters_are_represented_by_integers
in_ruby_version("1.8") do
def test_in_ruby_1_8_single_characters_are_represented_by_integers
assert_equal __, ?a
assert_equal __, ?a == 97
assert_equal __, ?b == (?a + 1)
end
end
in_ruby_version("1.9") do
def test_in_ruby_1_8_single_characters_are_represented_by_strings
assert_equal __, ?a
assert_equal __, ?a == 97
end
end
def test_strings_can_be_split
string = "Sausage Egg Cheese"
@@ -166,7 +175,7 @@ EOS
# NOTE: Patterns are formed from Regular Expressions. Ruby has a
# very powerful Regular Expression library. Unfortunately, time
# does not permit us to explore it in detail in Ruby 101.
# does not permit us to explore it in detail now.
end
def test_strings_can_be_joined

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
# You need to write the triangle method in the file 'triangle.rb'
require 'triangle.rb'

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
# You need to write the triangle method in the file 'triangle.rb'
require 'triangle.rb'

View File

@@ -1,4 +1,4 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutTrueAndFalse < EdgeCase::Koan
def truth_value(condition)

View File

@@ -1 +1 @@
require 'edgecase'
require File.expand_path(File.dirname(__FILE__) + '/edgecase')

View File

@@ -6,12 +6,24 @@ require 'test/unit/assertions'
class FillMeInError < StandardError
end
def __(value="FILL ME IN")
value
def in_ruby_version(version)
yield if RUBY_VERSION =~ /^#{version}/
end
def _n_(value=999999)
def __(value="FILL ME IN", value19=:mu)
if RUBY_VERSION < "1.9"
value
else
(value19 == :mu) ? value : value19
end
end
def _n_(value=999999, value19=:mu)
if RUBY_VERSION < "1.9"
value
else
(value19 == :mu) ? value : value19
end
end
def ___(value=FillMeInError)