Sha256: cbfa320de7efded449e2d76ee73b73e9e3d423f4168104928a182daf916651ee

Contents?: true

Size: 616 Bytes

Versions: 40

Compression:

Stored size: 616 Bytes

Contents

require 'test_helper'
require 'tins/xt'

module Tins
  class ProcComposeTest < Test::Unit::TestCase

    def test_proc_compose_simple
      f = lambda { |x| 2 * x }
      g = lambda { |x| x + 1 }
      assert_equal 6, (f * g).call(2)
    end

    def test_proc_compose_more_complex
      f = lambda { |x, y| 2 * x + y * 3 }
      g = lambda { |x| x + 1 }
      if RUBY_VERSION >= "1.9"
        assert_raise(ArgumentError) { (f * g).call(2, 3) }
      else
        assert_raise(TypeError) { (f * g).call(2, 3) }
      end
      d = lambda { |x| [ x, x ] }
      assert_equal 15, (f * d * g).call(2)
    end
  end
end

Version data entries

40 entries across 39 versions & 4 rubygems

Version Path
tdiary-5.1.2 vendor/bundle/ruby/2.6.0/gems/tins-0.13.2/tests/proc_compose_test.rb
tdiary-5.1.1 vendor/bundle/ruby/2.6.0/gems/tins-0.13.2/tests/proc_compose_test.rb
tdiary-5.0.8 vendor/bundle/gems/tins-0.13.2/tests/proc_compose_test.rb
tdiary-5.0.8 vendor/bundle/ruby/2.5.0/gems/tins-0.13.2/tests/proc_compose_test.rb
vagrant-cloudstack-1.1.0 vendor/bundle/gems/tins-1.5.1/tests/proc_compose_test.rb
tins-1.5.1 tests/proc_compose_test.rb
tins-1.5.0 tests/proc_compose_test.rb
tins-1.4.2 tests/proc_compose_test.rb
tins-1.4.1 tests/proc_compose_test.rb
tins-1.4.0 tests/proc_compose_test.rb
tins-1.3.5 tests/proc_compose_test.rb
tins-1.3.4 tests/proc_compose_test.rb
tins-1.3.3 tests/proc_compose_test.rb
tins-1.3.2 tests/proc_compose_test.rb
tins-1.3.1 tests/proc_compose_test.rb
tins-1.3.0 tests/proc_compose_test.rb
tins-1.2.0 tests/proc_compose_test.rb
tins-1.1.0 tests/proc_compose_test.rb
tins-1.0.1 tests/proc_compose_test.rb
tins-1.0.0 tests/proc_compose_test.rb