test_bench-isolated 0 → 2.0.0.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.
Files changed (152) hide show
  1. checksums.yaml +4 -4
  2. data/lib/test_bench_isolated/test_bench/cli.rb +298 -0
  3. data/lib/test_bench_isolated/test_bench/controls/file.rb +7 -0
  4. data/lib/test_bench_isolated/test_bench/controls/path.rb +7 -0
  5. data/lib/test_bench_isolated/test_bench/controls/random.rb +9 -0
  6. data/lib/test_bench_isolated/test_bench/controls/result.rb +7 -0
  7. data/lib/test_bench_isolated/test_bench/controls/stdin.rb +29 -0
  8. data/lib/test_bench_isolated/test_bench/controls.rb +11 -0
  9. data/lib/test_bench_isolated/test_bench/fixture/actuate/class.rb +97 -0
  10. data/lib/test_bench_isolated/test_bench/fixture/actuate/object.rb +93 -0
  11. data/lib/test_bench_isolated/test_bench/fixture/controls/exception.rb +9 -0
  12. data/lib/test_bench_isolated/test_bench/fixture/controls/fixture/class.rb +88 -0
  13. data/lib/test_bench_isolated/test_bench/fixture/controls/fixture/object/modules.rb +41 -0
  14. data/lib/test_bench_isolated/test_bench/fixture/controls/fixture/object.rb +33 -0
  15. data/lib/test_bench_isolated/test_bench/fixture/controls/fixture.rb +29 -0
  16. data/lib/test_bench_isolated/test_bench/fixture/controls/output.rb +9 -0
  17. data/lib/test_bench_isolated/test_bench/fixture/controls/random.rb +9 -0
  18. data/lib/test_bench_isolated/test_bench/fixture/controls/result.rb +9 -0
  19. data/lib/test_bench_isolated/test_bench/fixture/controls/title.rb +9 -0
  20. data/lib/test_bench_isolated/test_bench/fixture/controls.rb +13 -0
  21. data/lib/test_bench_isolated/test_bench/fixture/evaluate.rb +31 -0
  22. data/lib/test_bench_isolated/test_bench/fixture/fixture.rb +201 -0
  23. data/lib/test_bench_isolated/test_bench/fixture.rb +8 -0
  24. data/lib/test_bench_isolated/test_bench/output/controls/data.rb +51 -0
  25. data/lib/test_bench_isolated/test_bench/output/controls/device.rb +29 -0
  26. data/lib/test_bench_isolated/test_bench/output/controls/event.rb +9 -0
  27. data/lib/test_bench_isolated/test_bench/output/controls/output.rb +36 -0
  28. data/lib/test_bench_isolated/test_bench/output/controls/random.rb +9 -0
  29. data/lib/test_bench_isolated/test_bench/output/controls/style.rb +33 -0
  30. data/lib/test_bench_isolated/test_bench/output/controls/styling.rb +29 -0
  31. data/lib/test_bench_isolated/test_bench/output/controls/text.rb +19 -0
  32. data/lib/test_bench_isolated/test_bench/output/controls.rb +10 -0
  33. data/lib/test_bench_isolated/test_bench/output/device/null.rb +21 -0
  34. data/lib/test_bench_isolated/test_bench/output/device/substitute.rb +60 -0
  35. data/lib/test_bench_isolated/test_bench/output/digest.rb +115 -0
  36. data/lib/test_bench_isolated/test_bench/output/output.rb +68 -0
  37. data/lib/test_bench_isolated/test_bench/output/writer/buffer.rb +59 -0
  38. data/lib/test_bench_isolated/test_bench/output/writer/defaults.rb +13 -0
  39. data/lib/test_bench_isolated/test_bench/output/writer/style.rb +52 -0
  40. data/lib/test_bench_isolated/test_bench/output/writer/substitute.rb +40 -0
  41. data/lib/test_bench_isolated/test_bench/output/writer.rb +212 -0
  42. data/lib/test_bench_isolated/test_bench/output.rb +14 -0
  43. data/lib/test_bench_isolated/test_bench/random/controls/seed.rb +27 -0
  44. data/lib/test_bench_isolated/test_bench/random/controls.rb +1 -0
  45. data/lib/test_bench_isolated/test_bench/random/random.rb +170 -0
  46. data/lib/test_bench_isolated/test_bench/random.rb +1 -0
  47. data/lib/test_bench_isolated/test_bench/run/controls/directory.rb +72 -0
  48. data/lib/test_bench_isolated/test_bench/run/controls/event_data.rb +9 -0
  49. data/lib/test_bench_isolated/test_bench/run/controls/events/event_data.rb +11 -0
  50. data/lib/test_bench_isolated/test_bench/run/controls/events/file_crashed.rb +111 -0
  51. data/lib/test_bench_isolated/test_bench/run/controls/events/file_finished.rb +58 -0
  52. data/lib/test_bench_isolated/test_bench/run/controls/events/file_started.rb +49 -0
  53. data/lib/test_bench_isolated/test_bench/run/controls/events/finished.rb +58 -0
  54. data/lib/test_bench_isolated/test_bench/run/controls/events/session.rb +11 -0
  55. data/lib/test_bench_isolated/test_bench/run/controls/events/started.rb +49 -0
  56. data/lib/test_bench_isolated/test_bench/run/controls/exception.rb +103 -0
  57. data/lib/test_bench_isolated/test_bench/run/controls/executor.rb +58 -0
  58. data/lib/test_bench_isolated/test_bench/run/controls/file/create.rb +71 -0
  59. data/lib/test_bench_isolated/test_bench/run/controls/file/pattern.rb +35 -0
  60. data/lib/test_bench_isolated/test_bench/run/controls/file.rb +182 -0
  61. data/lib/test_bench_isolated/test_bench/run/controls/path.rb +17 -0
  62. data/lib/test_bench_isolated/test_bench/run/controls/process_id.rb +9 -0
  63. data/lib/test_bench_isolated/test_bench/run/controls/random.rb +9 -0
  64. data/lib/test_bench_isolated/test_bench/run/controls/result.rb +9 -0
  65. data/lib/test_bench_isolated/test_bench/run/controls/time.rb +9 -0
  66. data/lib/test_bench_isolated/test_bench/run/controls.rb +26 -0
  67. data/lib/test_bench_isolated/test_bench/run/events.rb +14 -0
  68. data/lib/test_bench_isolated/test_bench/run/executor/serial.rb +36 -0
  69. data/lib/test_bench_isolated/test_bench/run/executor/substitute.rb +47 -0
  70. data/lib/test_bench_isolated/test_bench/run/executor.rb +46 -0
  71. data/lib/test_bench_isolated/test_bench/run/file.rb +83 -0
  72. data/lib/test_bench_isolated/test_bench/run/get_files/substitute.rb +48 -0
  73. data/lib/test_bench_isolated/test_bench/run/get_files.rb +78 -0
  74. data/lib/test_bench_isolated/test_bench/run/output/file.rb +137 -0
  75. data/lib/test_bench_isolated/test_bench/run/output/summary/error.rb +141 -0
  76. data/lib/test_bench_isolated/test_bench/run/output/summary.rb +184 -0
  77. data/lib/test_bench_isolated/test_bench/run/run.rb +156 -0
  78. data/lib/test_bench_isolated/test_bench/run.rb +18 -0
  79. data/lib/test_bench_isolated/test_bench/session/controls/comment.rb +107 -0
  80. data/lib/test_bench_isolated/test_bench/session/controls/detail.rb +93 -0
  81. data/lib/test_bench_isolated/test_bench/session/controls/event.rb +9 -0
  82. data/lib/test_bench_isolated/test_bench/session/controls/events/commented.rb +112 -0
  83. data/lib/test_bench_isolated/test_bench/session/controls/events/context_finished.rb +72 -0
  84. data/lib/test_bench_isolated/test_bench/session/controls/events/context_skipped.rb +49 -0
  85. data/lib/test_bench_isolated/test_bench/session/controls/events/context_started.rb +66 -0
  86. data/lib/test_bench_isolated/test_bench/session/controls/events/detailed.rb +112 -0
  87. data/lib/test_bench_isolated/test_bench/session/controls/events/event_data.rb +11 -0
  88. data/lib/test_bench_isolated/test_bench/session/controls/events/failed.rb +49 -0
  89. data/lib/test_bench_isolated/test_bench/session/controls/events/fixture_finished.rb +55 -0
  90. data/lib/test_bench_isolated/test_bench/session/controls/events/fixture_started.rb +49 -0
  91. data/lib/test_bench_isolated/test_bench/session/controls/events/test_finished.rb +72 -0
  92. data/lib/test_bench_isolated/test_bench/session/controls/events/test_skipped.rb +49 -0
  93. data/lib/test_bench_isolated/test_bench/session/controls/events/test_started.rb +66 -0
  94. data/lib/test_bench_isolated/test_bench/session/controls/events.rb +35 -0
  95. data/lib/test_bench_isolated/test_bench/session/controls/exception.rb +47 -0
  96. data/lib/test_bench_isolated/test_bench/session/controls/failure.rb +21 -0
  97. data/lib/test_bench_isolated/test_bench/session/controls/fixture.rb +21 -0
  98. data/lib/test_bench_isolated/test_bench/session/controls/output/detail.rb +31 -0
  99. data/lib/test_bench_isolated/test_bench/session/controls/output.rb +57 -0
  100. data/lib/test_bench_isolated/test_bench/session/controls/process_id.rb +9 -0
  101. data/lib/test_bench_isolated/test_bench/session/controls/random.rb +9 -0
  102. data/lib/test_bench_isolated/test_bench/session/controls/result.rb +25 -0
  103. data/lib/test_bench_isolated/test_bench/session/controls/substitute/path.rb +35 -0
  104. data/lib/test_bench_isolated/test_bench/session/controls/time.rb +9 -0
  105. data/lib/test_bench_isolated/test_bench/session/controls/title.rb +41 -0
  106. data/lib/test_bench_isolated/test_bench/session/controls.rb +36 -0
  107. data/lib/test_bench_isolated/test_bench/session/events.rb +27 -0
  108. data/lib/test_bench_isolated/test_bench/session/output/get.rb +29 -0
  109. data/lib/test_bench_isolated/test_bench/session/output/writer/buffer/interactive/viewport.rb +167 -0
  110. data/lib/test_bench_isolated/test_bench/session/output/writer/buffer/interactive.rb +141 -0
  111. data/lib/test_bench_isolated/test_bench/session/output/writer/buffer.rb +29 -0
  112. data/lib/test_bench_isolated/test_bench/session/output/writer/defaults.rb +19 -0
  113. data/lib/test_bench_isolated/test_bench/session/output/writer/substitute.rb +19 -0
  114. data/lib/test_bench_isolated/test_bench/session/output/writer.rb +97 -0
  115. data/lib/test_bench_isolated/test_bench/session/output.rb +377 -0
  116. data/lib/test_bench_isolated/test_bench/session/projection.rb +30 -0
  117. data/lib/test_bench_isolated/test_bench/session/session.rb +220 -0
  118. data/lib/test_bench_isolated/test_bench/session/store.rb +61 -0
  119. data/lib/test_bench_isolated/test_bench/session/substitute/path.rb +65 -0
  120. data/lib/test_bench_isolated/test_bench/session/substitute/sink.rb +114 -0
  121. data/lib/test_bench_isolated/test_bench/session/substitute.rb +120 -0
  122. data/lib/test_bench_isolated/test_bench/session.rb +22 -0
  123. data/lib/test_bench_isolated/test_bench/telemetry/controls/event/event_data.rb +17 -0
  124. data/lib/test_bench_isolated/test_bench/telemetry/controls/event/metadata.rb +72 -0
  125. data/lib/test_bench_isolated/test_bench/telemetry/controls/event.rb +140 -0
  126. data/lib/test_bench_isolated/test_bench/telemetry/controls/event_data.rb +131 -0
  127. data/lib/test_bench_isolated/test_bench/telemetry/controls/file.rb +86 -0
  128. data/lib/test_bench_isolated/test_bench/telemetry/controls/handler.rb +83 -0
  129. data/lib/test_bench_isolated/test_bench/telemetry/controls/process_id.rb +21 -0
  130. data/lib/test_bench_isolated/test_bench/telemetry/controls/projection/receiver.rb +33 -0
  131. data/lib/test_bench_isolated/test_bench/telemetry/controls/projection.rb +86 -0
  132. data/lib/test_bench_isolated/test_bench/telemetry/controls/random.rb +9 -0
  133. data/lib/test_bench_isolated/test_bench/telemetry/controls/sink.rb +35 -0
  134. data/lib/test_bench_isolated/test_bench/telemetry/controls/time.rb +125 -0
  135. data/lib/test_bench_isolated/test_bench/telemetry/controls.rb +17 -0
  136. data/lib/test_bench_isolated/test_bench/telemetry/event.rb +108 -0
  137. data/lib/test_bench_isolated/test_bench/telemetry/event_data/serialization.rb +172 -0
  138. data/lib/test_bench_isolated/test_bench/telemetry/event_data.rb +15 -0
  139. data/lib/test_bench_isolated/test_bench/telemetry/sink/file.rb +33 -0
  140. data/lib/test_bench_isolated/test_bench/telemetry/sink/handler/event_registry.rb +44 -0
  141. data/lib/test_bench_isolated/test_bench/telemetry/sink/handler.rb +128 -0
  142. data/lib/test_bench_isolated/test_bench/telemetry/sink/projection.rb +134 -0
  143. data/lib/test_bench_isolated/test_bench/telemetry/sink.rb +13 -0
  144. data/lib/test_bench_isolated/test_bench/telemetry/substitute/sink.rb +85 -0
  145. data/lib/test_bench_isolated/test_bench/telemetry/substitute.rb +34 -0
  146. data/lib/test_bench_isolated/test_bench/telemetry/telemetry.rb +111 -0
  147. data/lib/test_bench_isolated/test_bench/telemetry.rb +17 -0
  148. data/lib/test_bench_isolated/test_bench/test_bench.rb +56 -0
  149. data/lib/test_bench_isolated/test_bench.rb +5 -0
  150. data/script/bench +5 -0
  151. metadata +156 -7
  152. data/lib/test_bench/bootstrap.rb +0 -328
@@ -0,0 +1,41 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Fixture
4
+ module Controls
5
+ module Fixture
6
+ module Object
7
+ module Modules
8
+ def self.included
9
+ [Extended, Included, NoFixture]
10
+ end
11
+
12
+ module Included
13
+ def self.example
14
+ self
15
+ end
16
+
17
+ module Fixture
18
+ end
19
+ end
20
+
21
+ module Extended
22
+ def self.example
23
+ self
24
+ end
25
+
26
+ module Fixture
27
+ end
28
+ end
29
+
30
+ module NoFixture
31
+ def self.example
32
+ self
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,33 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Fixture
4
+ module Controls
5
+ module Fixture
6
+ module Object
7
+ def self.example
8
+ object = Example.new
9
+ object.extend(Modules::Extended)
10
+ object
11
+ end
12
+
13
+ def self.fixture_modules
14
+ [
15
+ Modules::Extended::Fixture,
16
+ Modules::Included::Fixture,
17
+ Example::Fixture
18
+ ]
19
+ end
20
+
21
+ class Example
22
+ include Modules::Included
23
+ include Modules::NoFixture
24
+
25
+ module Fixture
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,29 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Fixture
4
+ module Controls
5
+ module Fixture
6
+ def self.example
7
+ Example.new
8
+ end
9
+
10
+ def self.call(output=nil, &block)
11
+ output ||= Output.example
12
+
13
+ fixture = Example.new
14
+
15
+ fixture.test_session.telemetry.register(output)
16
+
17
+ block.(fixture)
18
+
19
+ fixture
20
+ end
21
+
22
+ class Example
23
+ include TestBench::Fixture
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,9 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Fixture
4
+ module Controls
5
+ Output = TestBench::Session::Controls::Output
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Fixture
4
+ module Controls
5
+ Random = Output::Controls::Random
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Fixture
4
+ module Controls
5
+ Result = TestBench::Session::Controls::Result
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Fixture
4
+ module Controls
5
+ Title = TestBench::Session::Controls::Title
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,13 @@
1
+ require 'test_bench_isolated/test_bench/session/controls'
2
+
3
+ require 'test_bench_isolated/test_bench/fixture/controls/random'
4
+ require 'test_bench_isolated/test_bench/fixture/controls/result'
5
+ require 'test_bench_isolated/test_bench/fixture/controls/exception'
6
+ require 'test_bench_isolated/test_bench/fixture/controls/title'
7
+
8
+ require 'test_bench_isolated/test_bench/fixture/controls/fixture'
9
+ require 'test_bench_isolated/test_bench/fixture/controls/fixture/class'
10
+ require 'test_bench_isolated/test_bench/fixture/controls/fixture/object/modules'
11
+ require 'test_bench_isolated/test_bench/fixture/controls/fixture/object'
12
+
13
+ require 'test_bench_isolated/test_bench/fixture/controls/output'
@@ -0,0 +1,31 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Fixture
4
+ class Evaluate
5
+ include Fixture
6
+
7
+ attr_reader :block
8
+
9
+ def initialize(block)
10
+ @block = block
11
+ end
12
+
13
+ def self.build(session:, &block)
14
+ instance = new(block)
15
+ Session.configure(instance, session:, attr_name: :test_session)
16
+ instance
17
+ end
18
+
19
+ def self.call(session: nil, &block)
20
+ instance = build(session:, &block)
21
+ instance.()
22
+ instance
23
+ end
24
+
25
+ def call
26
+ instance_exec(&block)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,201 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Fixture
4
+ include TestBench::Session::Events
5
+
6
+ def test_session
7
+ @test_session ||= Session::Substitute.build
8
+ end
9
+ attr_writer :test_session
10
+
11
+ def fixture_passed?
12
+ test_session.passed?
13
+ end
14
+ alias :passed? :fixture_passed?
15
+
16
+ def comment(...)
17
+ Fixture.comment(test_session.telemetry, Commented, ...)
18
+ end
19
+
20
+ def detail(...)
21
+ Fixture.comment(test_session.telemetry, Detailed, ...)
22
+ end
23
+
24
+ def assert(result)
25
+ if not [true, false, nil].include?(result)
26
+ raise TypeError, "Value #{result.inspect} isn't a boolean"
27
+ end
28
+
29
+ result = false if result.nil?
30
+
31
+ test_session.assert(result)
32
+ end
33
+
34
+ def refute(result)
35
+ if not [true, false, nil].include?(result)
36
+ raise TypeError, "Value #{result.inspect} isn't a boolean"
37
+ end
38
+
39
+ negated_result = !result
40
+
41
+ test_session.assert(negated_result)
42
+ end
43
+
44
+ def assert_raises(exception_class=nil, message=nil, strict: nil, &block)
45
+ if exception_class.nil?
46
+ strict ||= false
47
+ exception_class = StandardError
48
+ else
49
+ strict = true if strict.nil?
50
+ end
51
+
52
+ detail "Expected exception: #{exception_class}#{' (strict)' if strict}"
53
+ if not message.nil?
54
+ detail "Expected message: #{message.inspect}"
55
+ end
56
+
57
+ block.()
58
+
59
+ detail "(No exception was raised)"
60
+
61
+ rescue exception_class => exception
62
+
63
+ detail "Raised exception: #{exception.inspect}#{" (subclass of #{exception_class})" if exception.class < exception_class}"
64
+
65
+ if strict && !exception.instance_of?(exception_class)
66
+ raise exception
67
+ end
68
+
69
+ if message.nil?
70
+ result = true
71
+ else
72
+ result = exception.message == message
73
+ end
74
+
75
+ assert(result)
76
+ else
77
+ assert(false)
78
+ end
79
+
80
+ def refute_raises(exception_class=nil, strict: nil, &block)
81
+ if exception_class.nil?
82
+ strict ||= false
83
+ exception_class = StandardError
84
+ else
85
+ strict = true if strict.nil?
86
+ end
87
+
88
+ detail "Prohibited exception: #{exception_class}#{' (strict)' if strict}"
89
+
90
+ block.()
91
+
92
+ detail "(No exception was raised)"
93
+
94
+ rescue exception_class => exception
95
+
96
+ detail "Raised exception: #{exception.inspect}#{" (subclass of #{exception_class})" if exception.class < exception_class}"
97
+
98
+ if strict && !exception.instance_of?(exception_class)
99
+ raise exception
100
+ end
101
+
102
+ assert(false)
103
+ else
104
+ assert(true)
105
+ end
106
+
107
+ def context(title=nil, &block)
108
+ title = title&.to_str
109
+
110
+ test_session.context(title, &block)
111
+ end
112
+
113
+ def context!(title=nil, &block)
114
+ title = title&.to_str
115
+
116
+ test_session.context!(title, &block)
117
+ end
118
+
119
+ def test(title=nil, &block)
120
+ title = title&.to_str
121
+
122
+ test_session.test(title, &block)
123
+ end
124
+
125
+ def test!(title=nil, &block)
126
+ title = title&.to_str
127
+
128
+ test_session.test!(title, &block)
129
+ end
130
+
131
+ def fail!(message=nil)
132
+ test_session.fail(message)
133
+ end
134
+
135
+ def fixture(fixture_class_or_object, *, **, &)
136
+ session = self.test_session
137
+
138
+ Fixture.(fixture_class_or_object, *, session:, **, &)
139
+ end
140
+
141
+ def self.comment(telemetry, event_class, text, *additional_texts, heading: nil, quote: nil)
142
+ texts = [text, *additional_texts]
143
+
144
+ texts.map! do |text|
145
+ text.to_str
146
+ end
147
+
148
+ if quote.nil?
149
+ quote = texts.last.end_with?("\n")
150
+ end
151
+
152
+ if quote
153
+ if heading.nil?
154
+ heading = !text.end_with?("\n")
155
+ end
156
+ end
157
+
158
+ if heading
159
+ heading = texts.shift
160
+ else
161
+ heading = nil
162
+ end
163
+
164
+ if quote
165
+ text = texts.join
166
+ else
167
+ text = texts.first
168
+ end
169
+
170
+ event = event_class.new
171
+ event.text = text
172
+ event.quote = quote
173
+ event.heading = heading
174
+
175
+ telemetry.record(event)
176
+
177
+ if not quote
178
+ texts[1..-1].each do |text|
179
+ comment(telemetry, event_class, text, heading: false, quote: false)
180
+ end
181
+ end
182
+ end
183
+
184
+ def self.output(fixture, styling: nil)
185
+ session = fixture.test_session
186
+
187
+ TestBench::Session::Output::Get.(session, styling:)
188
+ end
189
+
190
+ def self.call(fixture_class_or_object, ...)
191
+ if fixture_class_or_object.instance_of?(Class)
192
+ fixture_class = fixture_class_or_object
193
+ Actuate::Class.(fixture_class, ...)
194
+ else
195
+ object = fixture_class_or_object
196
+ Actuate::Object.(object, ...)
197
+ end
198
+ end
199
+ end
200
+ end
201
+ end
@@ -0,0 +1,8 @@
1
+ require 'test_bench_isolated/test_bench/session'
2
+
3
+ require 'test_bench_isolated/test_bench/fixture/actuate/class'
4
+ require 'test_bench_isolated/test_bench/fixture/actuate/object'
5
+
6
+ require 'test_bench_isolated/test_bench/fixture/fixture'
7
+
8
+ require 'test_bench_isolated/test_bench/fixture/evaluate'
@@ -0,0 +1,51 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Output
4
+ module Controls
5
+ module Data
6
+ def self.example
7
+ "some-data"
8
+ end
9
+
10
+ def self.random
11
+ suffix = Random.string
12
+
13
+ "#{example}-#{suffix}"
14
+ end
15
+
16
+ module Digest
17
+ def self.example
18
+ '0123456789:;<=>'
19
+ end
20
+
21
+ def self.digest
22
+ 0x3031323334353637 + 0x0038393A3B3C3D3E
23
+ end
24
+
25
+ module Equivalent
26
+ module SameLength
27
+ def self.example
28
+ '0123456789:;<=>'
29
+ end
30
+
31
+ def self.digest
32
+ Digest.digest
33
+ end
34
+ end
35
+
36
+ module DifferentLength
37
+ def self.example
38
+ [Digest.digest].pack('Q>')
39
+ end
40
+
41
+ def self.digest
42
+ Digest.digest
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,29 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Output
4
+ module Controls
5
+ module Device
6
+ def self.example
7
+ TestBench::Output::Device::Substitute.build
8
+ end
9
+
10
+ module TTY
11
+ def self.example(tty: nil)
12
+ tty = true if tty.nil?
13
+
14
+ device = Device.example
15
+ device.tty! if tty
16
+ device
17
+ end
18
+
19
+ module Non
20
+ def self.example
21
+ TTY.example(tty: false)
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,9 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Output
4
+ module Controls
5
+ Event = Telemetry::Controls::Event
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,36 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Output
4
+ module Controls
5
+ module Output
6
+ def self.example_class(&block)
7
+ Class.new do
8
+ include TestBench::Output
9
+
10
+ class_exec(&block)
11
+ end
12
+ end
13
+
14
+ class Example
15
+ include TestBench::Output
16
+ end
17
+
18
+ module Configure
19
+ class Example
20
+ include TestBench::Output
21
+ attr_accessor :some_attr
22
+
23
+ def configure(some_attr: nil, **arguments)
24
+ self.some_attr = some_attr
25
+ end
26
+
27
+ def configured?(some_attr)
28
+ self.some_attr == some_attr
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,9 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Output
4
+ module Controls
5
+ Random = Telemetry::Controls::Random
6
+ end
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,33 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Output
4
+ module Controls
5
+ module Style
6
+ def self.example
7
+ :bold
8
+ end
9
+
10
+ def self.other_example
11
+ :italic
12
+ end
13
+
14
+ module Unknown
15
+ def self.example
16
+ :unknown
17
+ end
18
+ end
19
+
20
+ module Code
21
+ def self.example
22
+ '1'
23
+ end
24
+
25
+ def self.other_example
26
+ '3'
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,29 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Output
4
+ module Controls
5
+ module Styling
6
+ def self.example
7
+ Writer::Styling.on
8
+ end
9
+
10
+ def self.other_example
11
+ Writer::Styling.off
12
+ end
13
+
14
+ def self.random
15
+ stylings = [
16
+ Writer::Styling.on,
17
+ Writer::Styling.off,
18
+ Writer::Styling.detect
19
+ ]
20
+
21
+ index = Random.integer % stylings.count
22
+
23
+ stylings[index]
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,19 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Output
4
+ module Controls
5
+ module Text
6
+ def self.example
7
+ "Some text"
8
+ end
9
+
10
+ def self.random
11
+ suffix = Random.string
12
+
13
+ "#{example} #{suffix}"
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,10 @@
1
+ require 'test_bench_isolated/test_bench/telemetry/controls'
2
+
3
+ require 'test_bench_isolated/test_bench/output/controls/random'
4
+ require 'test_bench_isolated/test_bench/output/controls/data'
5
+ require 'test_bench_isolated/test_bench/output/controls/device'
6
+ require 'test_bench_isolated/test_bench/output/controls/text'
7
+ require 'test_bench_isolated/test_bench/output/controls/styling'
8
+ require 'test_bench_isolated/test_bench/output/controls/style'
9
+ require 'test_bench_isolated/test_bench/output/controls/output'
10
+ require 'test_bench_isolated/test_bench/output/controls/event'
@@ -0,0 +1,21 @@
1
+ module TestBenchIsolated
2
+ module TestBench
3
+ module Output
4
+ module Device
5
+ class Null
6
+ def self.build
7
+ @instance ||= new
8
+ end
9
+
10
+ def write(data)
11
+ data.bytesize
12
+ end
13
+
14
+ def tty?
15
+ false
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end