Sha256: 1688403ebb8c7204525fd037e577e62c3431dafdc068b1df8bc7d99d210f6b25
Contents?: true
Size: 810 Bytes
Versions: 5
Compression:
Stored size: 810 Bytes
Contents
require File.join(File.dirname(__FILE__), '..', 'helper') require 'ludy/kernel/defun' class TestDefun < Test::Unit::TestCase def test_fact defun :fact, 0 do |n| 1 end defun :fact, Integer do |n| n * fact(n-1) end assert_equal 3628800, fact(10) end def test_overloading defun :f, Integer do |n| 1; end defun :f, String do |n| '2'; end defun(:f, Integer, Integer) do |n,g| 3; end assert_equal 1, f(10) assert_equal '2', f('') assert_equal 3, f(1,1) assert_raise NoMethodError do f('1', 2); end end def test_more defun(:more, 3, Object){3} defun(:more, Object, String){|o,s|s} assert_equal 'a', more(1,'a') # because [3, '2'] matches [3, Object] assert_equal 3, more(3,'2') assert_equal 3, more(3,nil) end end
Version data entries
5 entries across 5 versions & 2 rubygems
Version | Path |
---|---|
godfat-ludy-0.1.13 | test/ludy/test_defun.rb |
ludy-0.1.10 | test/ludy/test_defun.rb |
ludy-0.1.11 | test/ludy/test_defun.rb |
ludy-0.1.13 | test/ludy/test_defun.rb |
ludy-0.1.9 | test/ludy/test_defun.rb |