test_bench-random 2.1.0.0 → 2.2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/test_bench/random/controls/seed.rb +5 -1
- data/lib/test_bench/random/random.rb +54 -3
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e30c460ce61a331fac2f13a9d056acbb1615b14a7da5b9e330dffbb7396c5231
|
4
|
+
data.tar.gz: e7b2774892bd081037e2533ed7649c25e02e36a1abf5790a81587a3379b1e96c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eddf52771ece3597e41ba86013f3fac6e73dbc92e9d35ef22321752d8f714df5dd383c14f4836953440464841c838e11817be4e9abd704b7b6a897981b8a7b62
|
7
|
+
data.tar.gz: 80cbe6725d279b45a5ee2ab6a5d5c76bad6872d18fb6af7fafc9933ab098f88acd3363ab817edec7d02ed80483481e4f3a4f6105f87cc5c4c64455d1de119a7f
|
@@ -15,6 +15,11 @@ module TestBench
|
|
15
15
|
end
|
16
16
|
attr_writer :namespace
|
17
17
|
|
18
|
+
def sequence
|
19
|
+
@sequence ||= 0
|
20
|
+
end
|
21
|
+
attr_writer :sequence
|
22
|
+
|
18
23
|
def self.build(seed=nil, namespace: nil)
|
19
24
|
instance = new
|
20
25
|
instance.seed = seed
|
@@ -22,12 +27,22 @@ module TestBench
|
|
22
27
|
instance
|
23
28
|
end
|
24
29
|
|
30
|
+
def self.instance
|
31
|
+
@instance ||= build
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.configure(receiver, attr_name: nil)
|
35
|
+
attr_name ||= :random
|
36
|
+
|
37
|
+
receiver.public_send(:"#{attr_name}=", instance)
|
38
|
+
end
|
39
|
+
|
25
40
|
def string
|
26
41
|
integer.to_s(36)
|
27
42
|
end
|
28
43
|
|
29
44
|
def integer
|
30
|
-
bytes =
|
45
|
+
bytes = next_qword.bytes
|
31
46
|
|
32
47
|
number = 0
|
33
48
|
|
@@ -39,11 +54,13 @@ module TestBench
|
|
39
54
|
end
|
40
55
|
|
41
56
|
def fraction
|
57
|
+
self.sequence += 1
|
58
|
+
|
42
59
|
generator.rand
|
43
60
|
end
|
44
61
|
|
45
62
|
def boolean
|
46
|
-
byte =
|
63
|
+
byte = next_qword.bytes.first
|
47
64
|
|
48
65
|
if byte % 2 == 1
|
49
66
|
true
|
@@ -52,6 +69,22 @@ module TestBench
|
|
52
69
|
end
|
53
70
|
end
|
54
71
|
|
72
|
+
def reset?(namespace=nil)
|
73
|
+
namespace ||= self.namespace
|
74
|
+
|
75
|
+
if namespace != self.namespace
|
76
|
+
return false
|
77
|
+
end
|
78
|
+
|
79
|
+
sequence.zero?
|
80
|
+
end
|
81
|
+
|
82
|
+
def next_qword
|
83
|
+
self.sequence += 1
|
84
|
+
|
85
|
+
generator.bytes(8)
|
86
|
+
end
|
87
|
+
|
55
88
|
def reset(namespace=nil)
|
56
89
|
namespace ||= self.namespace
|
57
90
|
|
@@ -60,6 +93,8 @@ module TestBench
|
|
60
93
|
self.generator = generator
|
61
94
|
self.namespace = namespace
|
62
95
|
|
96
|
+
self.sequence = 0
|
97
|
+
|
63
98
|
generator.seed
|
64
99
|
end
|
65
100
|
|
@@ -99,11 +134,27 @@ module TestBench
|
|
99
134
|
end
|
100
135
|
end
|
101
136
|
|
137
|
+
module Substitute
|
138
|
+
def self.build
|
139
|
+
Random.build
|
140
|
+
end
|
141
|
+
|
142
|
+
class Random < Random
|
143
|
+
alias :set_seed :seed=
|
144
|
+
|
145
|
+
def self.build
|
146
|
+
instance = new
|
147
|
+
instance.set_seed(0)
|
148
|
+
instance
|
149
|
+
end
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
102
153
|
module Defaults
|
103
154
|
def self.seed
|
104
155
|
seed = ENV['TEST_BENCH_SEED']
|
105
156
|
if not seed.nil?
|
106
|
-
seed.to_i
|
157
|
+
seed.to_i(36)
|
107
158
|
else
|
108
159
|
::Random.new_seed
|
109
160
|
end
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: test_bench-random
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Ladd
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: test_bench-
|
14
|
+
name: test_bench-isolated
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
@@ -53,7 +53,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
requirements: []
|
56
|
-
rubygems_version: 3.
|
56
|
+
rubygems_version: 3.4.10
|
57
57
|
signing_key:
|
58
58
|
specification_version: 4
|
59
59
|
summary: Random value controls for TestBench
|