Sha256: 6c8d38a1d7d033c0d5ae657303dc5c706f1441590a4aff0049123eabb31e559c

Contents?: true

Size: 1.23 KB

Versions: 12

Compression:

Stored size: 1.23 KB

Contents

require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

describe SPCore::Limiters do
  describe '.make_no_limiter' do
    it 'should make a lambda that does not limit values' do
      limiter = SPCore::Limiters.make_no_limiter
      limiter.call(Float::MAX).should eq(Float::MAX)
      limiter.call(-Float::MAX).should eq(-Float::MAX)
      limiter.call(Float::MIN).should eq(Float::MIN)
    end
  end
  
  describe '.make_lower_limiter' do
    it 'should make a lambda that limits values to be above the limit value' do
      limiter = SPCore::Limiters.make_lower_limiter 5.0
      limiter.call(4.5).should eq(5.0)
      limiter.call(5.5).should eq(5.5)
    end
  end

  describe 'make_upper_limiter' do
    it 'should make a lambda that limits values to be above the limit value' do
      limiter = SPCore::Limiters.make_upper_limiter 5.0
      limiter.call(5.5).should eq(5.0)
      limiter.call(4.5).should eq(4.5)
    end
  end

  describe '.make_range_limiter' do
    it 'should make a lambda that limits values to be between the limit range' do
      limiter = SPCore::Limiters.make_range_limiter(2.5..5.0)
      limiter.call(1.5).should eq(2.5)
      limiter.call(5.5).should eq(5.0)
      limiter.call(3.0).should eq(3.0)
    end
  end

end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
spcore-0.2.1 spec/util/limiters_spec.rb
spcore-0.2.0 spec/util/limiters_spec.rb
spcore-0.1.9 spec/util/limiters_spec.rb
spcore-0.1.8 spec/util/limiters_spec.rb
spcore-0.1.7 spec/util/limiters_spec.rb
spcore-0.1.6 spec/util/limiters_spec.rb
spcore-0.1.5 spec/util/limiters_spec.rb
spcore-0.1.4 spec/util/limiters_spec.rb
spcore-0.1.3 spec/util/limiters_spec.rb
spcore-0.1.2 spec/core/limiters_spec.rb
spcore-0.1.1 spec/core/limiters_spec.rb
spcore-0.1.0 spec/core/limiters_spec.rb