Sha256: e7727081dfebba475107823849faf86450c96f0b16e673abbf0ac2110ad3ab03

Contents?: true

Size: 911 Bytes

Versions: 6

Compression:

Stored size: 911 Bytes

Contents

require "test_helper"

describe "range #3" do
  def setup
    reset_order
  end

  it "accepts an integer as position" do
    Order.add_to_flags a: 0
    Order.add_to_flags b: 1
    Order.add_to_flags c: 2
    Order.add_to_flags d: 100

    msk = Order.add_to_flags.mask(:a, :b, :c)
    assert 0x07, msk

    msk = Order.add_to_flags.mask(:d)
    assert 0x10000000000000000000000000, msk
  end

  it "rejects ivalid position" do
    assert_raises(ArgumentError) { Order.add_to_flags a: -1 }
    assert_raises(ArgumentError) { Order.add_to_flags a: :a_symbol }
  end

  [0..0, 0..1, ..0, 1.., 100..100, 0...1, ...1, 1..., ...100].each do |range|
    it "checks valid range #{range}" do
      Order.add_to_flags range: range
    end
  end

  [-1..0, :a..:z, "a".."z"].each do |range|
    it "rejects invalid range #{range}" do
      assert_raises(RangeError) { Order.add_to_flags range: range }
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
act_with_flags-3.1.9 test/range3_test.rb
act_with_flags-3.1.6 test/range3_test.rb
act_with_flags-3.1.5 test/range3_test.rb
act_with_flags-3.1.3 test/range3_test.rb
act_with_flags-3.1.2 test/range3_test.rb
act_with_flags-3.1.1 test/range3_test.rb