Sha256: 9ece3958061ac312a9cef6cde802c1d08479980f22163a63be4c4861e1573b47

Contents?: true

Size: 1.5 KB

Versions: 11

Compression:

Stored size: 1.5 KB

Contents

require 'asir/uuid'

describe "ASIR::UUID" do
  attr_accessor :u
  before { @u = ASIR::UUID }

  it 'should return a UUID from #new_uuid.' do
    x = u.new_uuid
    x.should =~ ASIR::UUID::UUID_REGEX
  end

  it 'should return unique result from #new_uuid.' do
    a = [ ]
    10.times do
      x = u.new_uuid
      x.should =~ ASIR::UUID::UUID_REGEX
      a << u.new_uuid
    end
    a.uniq.size.should == 10
  end

  it 'should single unique result per process from #process_uuid.' do
    a = [ ]
    10.times do
      x = u.process_uuid
      x.should =~ ASIR::UUID::UUID_REGEX
      a << u.process_uuid
      a << u.generate
    end
    a.uniq.size.should == 11
  end

  it 'should single unique result per process from #counter_uuid.' do
    a = [ ]
    10.times do
      x = u.counter_uuid
      x.should =~ ASIR::UUID::COUNTER_UUID_REGEX
      a << x
      a << u.process_uuid
      a << u.generate
    end
    a.uniq.size.should == 21
  end

  it 'should single unique result per Thread from #thread_uuid.' do
    a = [ ]
    10.times do
      x = u.thread_uuid
      x.should =~ ASIR::UUID::COUNTER_UUID_REGEX
      a << x
      a << u.generate
      a << u.process_uuid
    end
    a.uniq.size.should == 12

    a = [ ]
    b = [ ]
    t1 = Thread.current
    t2 = Thread.new do
      10.times do
        b << u.thread_uuid(t1)
        b << u.thread_uuid(t2)
      end
    end
    10.times do
      a << u.thread_uuid(t1)
      a << u.thread_uuid(t2)
    end

    t2.join
    c = a + b
    c.uniq.size.should == 2
  end

end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
asir-1.2.11 spec/uuid_spec.rb
asir-1.2.10 spec/uuid_spec.rb
asir-1.2.9 spec/uuid_spec.rb
asir-1.2.8 spec/uuid_spec.rb
asir-1.2.7 spec/uuid_spec.rb
asir-1.2.6 spec/uuid_spec.rb
asir-1.2.5 spec/uuid_spec.rb
asir-1.2.3 spec/uuid_spec.rb
asir-1.2.2 spec/uuid_spec.rb
asir-1.2.1 spec/uuid_spec.rb
asir-1.2.0 spec/uuid_spec.rb