Back ported a lot of changes made to the Koans directory.
[ruby_koans.git] / src / about_true_and_false.rb
1 require File.expand_path(File.dirname(__FILE__) + '/edgecase')
2
3 class AboutTrueAndFalse < EdgeCase::Koan
4   def truth_value(condition)
5     if condition
6       :true_stuff
7     else
8       :false_stuff
9     end
10   end
11
12   def test_true_is_treated_as_true
13     assert_equal __(:true_stuff), truth_value(true)
14   end
15
16   def test_false_is_treated_as_false
17     assert_equal __(:false_stuff), truth_value(false)
18   end
19
20   def test_nil_is_treated_as_false_too
21     assert_equal __(:false_stuff), truth_value(nil)
22   end
23
24   def test_everything_else_is_treated_as_true
25     assert_equal __(:true_stuff), truth_value(1)
26     assert_equal __(:true_stuff), truth_value(0)
27     assert_equal __(:true_stuff), truth_value([])
28     assert_equal __(:true_stuff), truth_value({})
29     assert_equal __(:true_stuff), truth_value("Strings")
30     assert_equal __(:true_stuff), truth_value("")
31   end
32
33 end