RosettaCodeData/Task/Test-a-function/Ruby/test-a-function-1.rb

27 lines
521 B
Ruby

def palindrome?(s)
s == s.reverse
end
require 'test/unit'
class MyTests < Test::Unit::TestCase
def test_palindrome_ok
assert(palindrome? "aba")
end
def test_palindrome_nok
assert_equal(false, palindrome?("ab"))
end
def test_object_without_reverse
assert_raise(NoMethodError) {palindrome? 42}
end
def test_wrong_number_args
assert_raise(ArgumentError) {palindrome? "a", "b"}
end
def test_show_failing_test
assert(palindrome?("ab"), "this test case fails on purpose")
end
end