test_bench-random 2.1.0.0 → 2.2.0.1
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.
- 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: c7a175666b3f2d610b67cbccc4559e431cb66b32d6aec5c1f2238f4f1d724c62
|
4
|
+
data.tar.gz: e04fe2981906338a2a4c15ce6587929fb8640c6275bc58ea6a13140bbfdaa62d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd0c7c70806ff933dbeee314937681f359c7e267458b625a4c97f1ee3873527f5a88f50bbde609900d798e6e1aa96fcb11adff78d2db83caf3e3c070a418fc9c
|
7
|
+
data.tar.gz: 2797983b3efbb541b2b7159bb1a01e635331eb82494e05809b0a53bd5b33860932a909102ee1f460591eb4622ce0501a6eeddef6b381839292c0ba2418732cd3
|
@@ -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.1
|
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
|