uuidtools 2.1.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(__FILE__), "../spec_helper.rb")
1
+ require File.expand_path("../../spec_helper.rb", __FILE__)
2
2
 
3
3
  describe SecureRandom do
4
4
  it "should correctly obtain random bits" do
@@ -7,15 +7,15 @@ describe SecureRandom do
7
7
  bits << SecureRandom.random_bytes(16)
8
8
  end
9
9
  # Check to make sure that none of the 10,000 strings were duplicates
10
- (bits.map {|x| x.to_s}).uniq.size.should == bits.size
10
+ expect((bits.map {|x| x.to_s}).uniq.size).to eql(bits.size)
11
11
  end
12
12
 
13
13
  it "should return the correct number of random bits" do
14
- SecureRandom.random_bytes(16).size.should == 16
15
- SecureRandom.random_bytes(6).size.should == 6
14
+ expect(SecureRandom.random_bytes(16).size).to eql(16)
15
+ expect(SecureRandom.random_bytes(6).size).to eql(6)
16
16
  end
17
17
 
18
18
  it "should return a sane random number" do
19
- SecureRandom.random_number(5000).should < 5000
19
+ expect(SecureRandom.random_number(5000)).to be < 5000
20
20
  end
21
21
  end
@@ -1,37 +1,39 @@
1
- require File.join(File.dirname(__FILE__), "../spec_helper.rb")
1
+ require File.expand_path("../../spec_helper.rb", __FILE__)
2
2
 
3
3
  describe UUIDTools::UUID, "when generating" do
4
4
  it "should correctly generate SHA1 variant UUIDs" do
5
- UUIDTools::UUID.sha1_create(
5
+ expect(UUIDTools::UUID.sha1_create(
6
6
  UUIDTools::UUID_URL_NAMESPACE, 'http://sporkmonger.com'
7
- ).to_s.should == "f2d04685-b787-55da-8644-9bd28a6f5a53"
7
+ ).to_s).to eql('f2d04685-b787-55da-8644-9bd28a6f5a53')
8
8
  end
9
9
 
10
10
  it "should correctly generate MD5 variant UUIDs" do
11
- UUIDTools::UUID.md5_create(
11
+ expect(UUIDTools::UUID.md5_create(
12
12
  UUIDTools::UUID_URL_NAMESPACE, 'http://sporkmonger.com'
13
- ).to_s.should == "15074785-9071-3fe3-89bd-876e4b9e919b"
13
+ ).to_s).to eql('15074785-9071-3fe3-89bd-876e4b9e919b')
14
14
  end
15
15
 
16
16
  it "should correctly generate timestamp variant UUIDs" do
17
- UUIDTools::UUID.timestamp_create.should_not be_random_node_id
18
- UUIDTools::UUID.timestamp_create.to_s.should_not ==
17
+ expect(UUIDTools::UUID.timestamp_create).not_to be_random_node_id
18
+ expect(UUIDTools::UUID.timestamp_create.to_s).not_to eql(
19
19
  UUIDTools::UUID.timestamp_create.to_s
20
+ )
20
21
  current_time = Time.now
21
- UUIDTools::UUID.timestamp_create(current_time).to_s.should_not ==
22
+ expect(UUIDTools::UUID.timestamp_create(current_time).to_s).not_to eql(
22
23
  UUIDTools::UUID.timestamp_create(current_time).to_s
24
+ )
23
25
  uuids = []
24
26
  1000.times do
25
27
  uuids << UUIDTools::UUID.timestamp_create
26
28
  end
27
29
  # Check to make sure that none of the 1,000 UUIDs were duplicates
28
- (uuids.map {|x| x.to_s}).uniq.size.should == uuids.size
30
+ expect((uuids.map {|x| x.to_s}).uniq.size).to eql(uuids.size)
29
31
  end
30
32
 
31
33
  it "should correctly generate UUIDs without a MAC address" do
32
34
  mac_address = UUIDTools::UUID.mac_address
33
35
  UUIDTools::UUID.mac_address = nil
34
- UUIDTools::UUID.timestamp_create.should be_random_node_id
36
+ expect(UUIDTools::UUID.timestamp_create).to be_random_node_id
35
37
  UUIDTools::UUID.mac_address = mac_address
36
38
  end
37
39
 
@@ -41,81 +43,88 @@ describe UUIDTools::UUID, "when generating" do
41
43
  uuids << UUIDTools::UUID.random_create
42
44
  end
43
45
  # Check to make sure that none of the 1,000 UUIDs were duplicates
44
- (uuids.map {|x| x.to_s}).uniq.size.should == uuids.size
46
+ expect((uuids.map {|x| x.to_s}).uniq.size).to eql(uuids.size)
47
+ end
48
+
49
+ it "should not have internal state used in string representations" do
50
+ uuid = UUIDTools::UUID.random_create
51
+ uuid_string = uuid.to_s.dup
52
+ uuid.to_s.gsub!("-", "/")
53
+ expect(uuid.to_s).to eql(uuid_string)
45
54
  end
46
55
 
47
56
  it "should throw an exception if a segment has an invalid value" do
48
- (lambda do
57
+ expect(lambda do
49
58
  UUIDTools::UUID.new(-1, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])
50
- end).should raise_error(ArgumentError)
51
- (lambda do
59
+ end).to raise_error(ArgumentError)
60
+ expect(lambda do
52
61
  UUIDTools::UUID.new(4294967296, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])
53
- end).should raise_error(ArgumentError)
62
+ end).to raise_error(ArgumentError)
54
63
  end
55
64
 
56
65
  it "should throw an exception if a segment has an invalid value" do
57
- (lambda do
66
+ expect(lambda do
58
67
  UUIDTools::UUID.new(0, -1, 0, 0, 0, [0, 0, 0, 0, 0, 0])
59
- end).should raise_error(ArgumentError)
60
- (lambda do
68
+ end).to raise_error(ArgumentError)
69
+ expect(lambda do
61
70
  UUIDTools::UUID.new(0, 65536, 0, 0, 0, [0, 0, 0, 0, 0, 0])
62
- end).should raise_error(ArgumentError)
71
+ end).to raise_error(ArgumentError)
63
72
  end
64
73
 
65
74
  it "should throw an exception if a segment has an invalid value" do
66
- (lambda do
75
+ expect(lambda do
67
76
  UUIDTools::UUID.new(0, 0, -1, 0, 0, [0, 0, 0, 0, 0, 0])
68
- end).should raise_error(ArgumentError)
69
- (lambda do
77
+ end).to raise_error(ArgumentError)
78
+ expect(lambda do
70
79
  UUIDTools::UUID.new(0, 0, 65536, 0, 0, [0, 0, 0, 0, 0, 0])
71
- end).should raise_error(ArgumentError)
80
+ end).to raise_error(ArgumentError)
72
81
  end
73
82
 
74
83
  it "should throw an exception if a segment has an invalid value" do
75
- (lambda do
84
+ expect(lambda do
76
85
  UUIDTools::UUID.new(0, 0, 0, -1, 0, [0, 0, 0, 0, 0, 0])
77
- end).should raise_error(ArgumentError)
78
- (lambda do
86
+ end).to raise_error(ArgumentError)
87
+ expect(lambda do
79
88
  UUIDTools::UUID.new(0, 0, 0, 256, 0, [0, 0, 0, 0, 0, 0])
80
- end).should raise_error(ArgumentError)
89
+ end).to raise_error(ArgumentError)
81
90
  end
82
91
 
83
92
  it "should throw an exception if a segment has an invalid value" do
84
- (lambda do
93
+ expect(lambda do
85
94
  UUIDTools::UUID.new(0, 0, 0, 0, -1, [0, 0, 0, 0, 0, 0])
86
- end).should raise_error(ArgumentError)
87
- (lambda do
95
+ end).to raise_error(ArgumentError)
96
+ expect(lambda do
88
97
  UUIDTools::UUID.new(0, 0, 0, 0, 256, [0, 0, 0, 0, 0, 0])
89
- end).should raise_error(ArgumentError)
98
+ end).to raise_error(ArgumentError)
90
99
  end
91
100
 
92
101
  it "should throw an exception if nodes are not a collection" do
93
- (lambda do
102
+ expect(lambda do
94
103
  UUIDTools::UUID.new(0, 0, 0, 0, 0, :bogus)
95
- end).should raise_error(TypeError)
104
+ end).to raise_error(TypeError)
96
105
  end
97
106
 
98
107
  it "should throw an exception if nodes are the wrong size" do
99
- (lambda do
108
+ expect(lambda do
100
109
  UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0])
101
- end).should raise_error(ArgumentError)
110
+ end).to raise_error(ArgumentError)
102
111
  end
103
112
 
104
113
  it "should throw an exception if any nodes have invalid values" do
105
- (lambda do
114
+ expect(lambda do
106
115
  UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 256])
107
- end).should raise_error(ArgumentError)
116
+ end).to raise_error(ArgumentError)
108
117
  end
109
118
 
110
119
  it "should throw an exception if parsing anything but a String" do
111
- (lambda do
120
+ expect(lambda do
112
121
  UUIDTools::UUID.parse(:bogus)
113
- end).should raise_error(TypeError)
122
+ end).to raise_error(TypeError)
114
123
  end
115
124
 
116
125
  it "should throw an exception if raw parsing anything but a String" do
117
- (lambda do
126
+ expect(lambda do
118
127
  UUIDTools::UUID.parse_raw(:bogus)
119
- end).should raise_error(TypeError)
128
+ end).to raise_error(TypeError)
120
129
  end
121
130
  end
@@ -1,66 +1,67 @@
1
- require File.join(File.dirname(__FILE__), "../spec_helper.rb")
1
+ require File.expand_path("../../spec_helper.rb", __FILE__)
2
2
 
3
3
  describe UUIDTools::UUID, "when parsing" do
4
4
  it "should correctly parse the MAC address from a timestamp version UUID" do
5
- UUIDTools::UUID.timestamp_create.mac_address.should ==
5
+ expect(UUIDTools::UUID.timestamp_create.mac_address).to eql(
6
6
  UUIDTools::UUID.mac_address
7
+ )
7
8
  end
8
9
 
9
10
  it "should correctly parse the variant from a timestamp version UUID" do
10
- UUIDTools::UUID.timestamp_create.variant.should == 0b100
11
+ expect(UUIDTools::UUID.timestamp_create.variant).to eql(0b100)
11
12
  end
12
13
 
13
14
  it "should correctly parse the version from a timestamp version UUID" do
14
- UUIDTools::UUID.timestamp_create.version.should == 1
15
+ expect(UUIDTools::UUID.timestamp_create.version).to eql(1)
15
16
  end
16
17
 
17
18
  it "should correctly parse the timestamp from a timestamp version UUID" do
18
- UUIDTools::UUID.timestamp_create.timestamp.should < Time.now + 1
19
- UUIDTools::UUID.timestamp_create.timestamp.should > Time.now - 1
19
+ expect(UUIDTools::UUID.timestamp_create.timestamp).to be < (Time.now + 1)
20
+ expect(UUIDTools::UUID.timestamp_create.timestamp).to be > (Time.now - 1)
20
21
  end
21
22
 
22
23
  it "should not treat a timestamp version UUID as a nil UUID" do
23
- UUIDTools::UUID.timestamp_create.should_not be_nil_uuid
24
+ expect(UUIDTools::UUID.timestamp_create).not_to be_nil_uuid
24
25
  end
25
26
 
26
27
  it "should not treat a timestamp version UUID as a random node UUID" do
27
- UUIDTools::UUID.timestamp_create.should_not be_random_node_id
28
+ expect(UUIDTools::UUID.timestamp_create).not_to be_random_node_id
28
29
  end
29
30
 
30
31
  it "should treat a timestamp version UUID as a random node UUID " +
31
32
  "if there is no MAC address" do
32
33
  old_mac_address = UUIDTools::UUID.mac_address
33
34
  UUIDTools::UUID.mac_address = nil
34
- UUIDTools::UUID.timestamp_create.should be_random_node_id
35
+ expect(UUIDTools::UUID.timestamp_create).to be_random_node_id
35
36
  UUIDTools::UUID.mac_address = old_mac_address
36
37
  end
37
38
 
38
39
  it "should correctly identify the nil UUID" do
39
- UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0]).should be_nil_uuid
40
+ expect(UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])).to be_nil_uuid
40
41
  end
41
42
 
42
43
  it "should correctly identify timestamp version UUIDs as valid" do
43
- UUIDTools::UUID.timestamp_create.should be_valid
44
+ expect(UUIDTools::UUID.timestamp_create).to be_valid
44
45
  end
45
46
 
46
47
  it "should correctly identify random number version UUIDs as valid" do
47
- UUIDTools::UUID.random_create.should be_valid
48
+ expect(UUIDTools::UUID.random_create).to be_valid
48
49
  end
49
50
 
50
51
  it "should correctly identify SHA1 hash version UUIDs as valid" do
51
- UUIDTools::UUID.sha1_create(
52
+ expect(UUIDTools::UUID.sha1_create(
52
53
  UUIDTools::UUID_URL_NAMESPACE, 'http://sporkmonger.com'
53
- ).should be_valid
54
+ )).to be_valid
54
55
  end
55
56
 
56
57
  it "should correctly identify MD5 hash version UUIDs as valid" do
57
- UUIDTools::UUID.md5_create(
58
+ expect(UUIDTools::UUID.md5_create(
58
59
  UUIDTools::UUID_URL_NAMESPACE, 'http://sporkmonger.com'
59
- ).should be_valid
60
+ )).to be_valid
60
61
  end
61
62
 
62
63
  it "should not identify the nil UUID as valid" do
63
- UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0]).should_not be_valid
64
+ expect(UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])).not_to be_valid
64
65
  end
65
66
 
66
67
  it "should allow for sorting of UUID arrays" do
@@ -69,59 +70,78 @@ describe UUIDTools::UUID, "when parsing" do
69
70
  uuids << UUIDTools::UUID.timestamp_create
70
71
  end
71
72
  uuids.sort!
72
- uuids.first.should < uuids.last
73
- uuids.last.should > uuids.first
73
+ expect(uuids.first).to be < uuids.last
74
+ expect(uuids.last).to be > uuids.first
74
75
  end
75
76
 
76
77
  it "should allow for comparison of UUIDs" do
77
- UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0]).should <
78
+ expect(UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])).to be <
78
79
  UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 1])
79
- UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 1]).should >
80
- UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])
81
- UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0]).should ==
80
+ expect(UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 1])).to be >
82
81
  UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])
82
+ expect(UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])).to eql(
83
+ UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0]))
83
84
  end
84
85
 
85
86
  it "should produce the correct hexdigest for a UUID" do
86
- UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0]).hexdigest.should ==
87
- "00000000000000000000000000000000"
88
- UUIDTools::UUID.new(1, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0]).hexdigest.should ==
89
- "00000001000000000000000000000000"
90
- UUIDTools::UUID.timestamp_create.hexdigest.size.should == 32
87
+ expect(UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0]).hexdigest).to eql(
88
+ '00000000000000000000000000000000')
89
+ expect(UUIDTools::UUID.new(1, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0]).hexdigest).to eql(
90
+ '00000001000000000000000000000000')
91
+ expect(UUIDTools::UUID.timestamp_create.hexdigest.size).to eql(32)
91
92
  end
92
93
 
93
94
  it "should produce a sane hash value for a UUID" do
94
95
  uuid = UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])
95
- uuid.to_i.should == 0
96
- uuid.hash.should be_kind_of(Fixnum)
96
+ expect(uuid.to_i).to eql(0)
97
+ expect(uuid.hash).to be_kind_of(Integer)
97
98
  end
98
99
 
99
100
  it "should produce the correct URI for a UUID" do
100
- UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0]).to_uri.should ==
101
- "urn:uuid:00000000-0000-0000-0000-000000000000"
101
+ expect(UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0]).to_uri).to eql(
102
+ 'urn:uuid:00000000-0000-0000-0000-000000000000')
102
103
  end
103
104
 
104
105
  it "should correctly test UUID equality" do
105
- UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0]).should be_eql(
106
+ expect(UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])).to eql(
106
107
  UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])
107
108
  )
108
109
  end
109
110
 
110
111
  it "should correctly parse integers" do
111
- UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0]).should ==
112
- UUIDTools::UUID.parse_int(0)
113
- UUIDTools::UUID.parse_int(0).should be_nil_uuid
112
+ expect(UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])).to eql(
113
+ UUIDTools::UUID.parse_int(0))
114
+ expect(UUIDTools::UUID.parse_int(0)).to be_nil_uuid
114
115
  uuid = UUIDTools::UUID.timestamp_create
115
- UUIDTools::UUID.parse_int(uuid.to_i).should == uuid
116
+ expect(UUIDTools::UUID.parse_int(uuid.to_i)).to eql(uuid)
116
117
  end
117
118
 
118
119
  it "should correctly parse hexdigests" do
119
- UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0]).should ==
120
- UUIDTools::UUID.parse_hexdigest("00000000000000000000000000000000")
121
- UUIDTools::UUID.parse_hexdigest(
122
- "00000000000000000000000000000000"
123
- ).should be_nil_uuid
120
+ expect(UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])).to eql(
121
+ UUIDTools::UUID.parse_hexdigest('00000000000000000000000000000000'))
122
+ expect(UUIDTools::UUID.parse_hexdigest(
123
+ '00000000000000000000000000000000'
124
+ )).to be_nil_uuid
125
+ uuid = UUIDTools::UUID.timestamp_create
126
+ expect(UUIDTools::UUID.parse_hexdigest(uuid.hexdigest)).to eql(uuid)
127
+ end
128
+
129
+ it "should correctly parse raw bytes" do
130
+ # NOTE: Short Input
131
+ expect(UUIDTools::UUID.new(0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0])).to eql(
132
+ UUIDTools::UUID.parse_raw(""))
133
+
134
+ # NOTE: Nil Input
135
+ expect(UUIDTools::UUID.parse_raw(
136
+ "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
137
+ )).to be_nil_uuid
138
+
139
+ # NOTE: Realistic Input
124
140
  uuid = UUIDTools::UUID.timestamp_create
125
- UUIDTools::UUID.parse_hexdigest(uuid.hexdigest).should == uuid
141
+ expect(UUIDTools::UUID.parse_raw(uuid.raw)).to eql(uuid)
142
+
143
+ # NOTE: Long input
144
+ raw192bit = "\1\2\3\4\5\6\7\8" + uuid.raw
145
+ expect(UUIDTools::UUID.parse_raw(raw192bit)).to eql(uuid)
126
146
  end
127
147
  end
@@ -1,38 +1,57 @@
1
1
  task :benchmark do
2
- require 'lib/uuidtools'
3
2
  require 'benchmark'
4
3
 
5
- # Version 1
6
- result = Benchmark.measure do
7
- 10000.times do
8
- UUID.timestamp_create.to_s
9
- end
10
- end
11
- puts "#{(10000.0 / result.real)} version 1 per second."
4
+ $LOAD_PATH.unshift File.expand_path('../..', __FILE__)
5
+ require 'lib/uuidtools'
12
6
 
13
- # Version 3
14
- result = Benchmark.measure do
15
- 10000.times do
16
- UUID.md5_create(UUID_URL_NAMESPACE,
17
- "http://www.ietf.org/rfc/rfc4122.txt").to_s
18
- end
7
+ def format_float(float)
8
+ ("%.2f" % float).rjust(9, ' ')
19
9
  end
20
- puts "#{(10000.0 / result.real)} version 3 per second."
21
10
 
22
- # Version 4
23
- result = Benchmark.measure do
24
- 10000.times do
25
- UUID.random_create.to_s
26
- end
11
+ def format_result(result, action, iterations)
12
+ $stdout.puts "#{format_float(iterations / result.real)} | #{action}"
27
13
  end
28
- puts "#{(10000.0 / result.real)} version 4 per second."
29
14
 
30
- # Version 5
31
- result = Benchmark.measure do
32
- 10000.times do
33
- UUID.sha1_create(UUID_URL_NAMESPACE,
34
- "http://www.ietf.org/rfc/rfc4122.txt").to_s
15
+ def benchmark(name, n = 10000)
16
+ result = Benchmark.measure do
17
+ n.times { yield }
35
18
  end
19
+
20
+ format_result(result, name, n)
36
21
  end
37
- puts "#{(10000.0 / result.real)} version 5 per second."
22
+
23
+ $stdout.puts ' x/second | Benchmark'
24
+ $stdout.puts '---------- -----------'
25
+
26
+ ##
27
+ # Benchmark UUID creation
28
+ namespace = UUIDTools::UUID_URL_NAMESPACE
29
+ url = "http://www.ietf.org/rfc/rfc4122.txt"
30
+
31
+ benchmark('Version 1') { UUIDTools::UUID.timestamp_create.to_s }
32
+ benchmark('Version 3') { UUIDTools::UUID.md5_create(namespace, url).to_s }
33
+ benchmark('Version 4') { UUIDTools::UUID.random_create.to_s }
34
+ benchmark('Version 5') { UUIDTools::UUID.sha1_create(namespace, url).to_s }
35
+
36
+ ##
37
+ # Benchmark UUID parsing
38
+ uuid_s = UUIDTools::UUID.random_create.to_s
39
+ benchmark('UUID::parse', 40000) { UUIDTools::UUID.parse(uuid_s) }
40
+
41
+ uuid_raw = UUIDTools::UUID.random_create.raw
42
+ benchmark('UUID::parse_raw', 40000) { UUIDTools::UUID.parse_raw(uuid_raw) }
43
+
44
+ uuid_i = UUIDTools::UUID.random_create.to_i
45
+ benchmark('UUID::parse_int', 40000) { UUIDTools::UUID.parse_int(uuid_i) }
46
+
47
+ uuid_hex = UUIDTools::UUID.random_create.hexdigest
48
+ benchmark('UUID::parse_hexdigest', 40000) { UUIDTools::UUID.parse_hexdigest(uuid_hex) }
49
+
50
+ ##
51
+ # Benchmark UUID private api
52
+ byte_string = UUIDTools::UUID.timestamp_create.raw
53
+ benchmark('UUID::convert_byte_string_to_int') { UUIDTools::UUID.convert_byte_string_to_int(byte_string) }
54
+
55
+ bigint = UUIDTools::UUID.timestamp_create.to_i
56
+ benchmark('UUID::convert_int_to_byte_string') { UUIDTools::UUID.convert_int_to_byte_string(bigint, 16) }
38
57
  end