-require 'edgecase'
+require File.expand_path(File.dirname(__FILE__) + '/edgecase')
class AboutControlStatements < EdgeCase::Koan
def test_unless_statement
result = :default_value
- unless false
+ unless false # same as saying 'if !false', which evaluates as 'if true'
result = :false_value
end
assert_equal __, result
end
+ def test_unless_statement_evaluate_true
+ result = :default_value
+ unless true # same as saying 'if !true', which evaluates as 'if false'
+ result = :true_value
+ end
+ assert_equal __, result
+ end
+
def test_unless_statement_modifier
result = :default_value
result = :false_value unless false
assert_equal __, result
end
+ def test_break_statement_returns_values
+ i = 1
+ result = while i <= 10
+ break i if i % 2 == 0
+ i += 1
+ end
+
+ assert_equal __, result
+ end
+
def test_next_statement
i = 0
result = []
while i < 10
i += 1
next if (i % 2) == 0
- result << i
+ result << i
end
assert_equal __, result
end