codebreaker_rg 0.1.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 (55) hide show
  1. checksums.yaml +7 -0
  2. data/.DS_Store +0 -0
  3. data/.rspec_status +168 -0
  4. data/CODE_OF_CONDUCT.md +74 -0
  5. data/Gemfile +6 -0
  6. data/Gemfile.lock +85 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +43 -0
  9. data/Rakefile +6 -0
  10. data/autoload.rb +15 -0
  11. data/bin/console +14 -0
  12. data/bin/setup +8 -0
  13. data/codebreaker_rg.gemspec +46 -0
  14. data/coverage/.last_run.json +5 -0
  15. data/coverage/.resultset.json +617 -0
  16. data/coverage/.resultset.json.lock +0 -0
  17. data/coverage/assets/0.10.2/application.css +799 -0
  18. data/coverage/assets/0.10.2/application.js +1707 -0
  19. data/coverage/assets/0.10.2/colorbox/border.png +0 -0
  20. data/coverage/assets/0.10.2/colorbox/controls.png +0 -0
  21. data/coverage/assets/0.10.2/colorbox/loading.gif +0 -0
  22. data/coverage/assets/0.10.2/colorbox/loading_background.png +0 -0
  23. data/coverage/assets/0.10.2/favicon_green.png +0 -0
  24. data/coverage/assets/0.10.2/favicon_red.png +0 -0
  25. data/coverage/assets/0.10.2/favicon_yellow.png +0 -0
  26. data/coverage/assets/0.10.2/loading.gif +0 -0
  27. data/coverage/assets/0.10.2/magnify.png +0 -0
  28. data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  29. data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  30. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  31. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  32. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  33. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  34. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  35. data/coverage/assets/0.10.2/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  36. data/coverage/assets/0.10.2/smoothness/images/ui-icons_222222_256x240.png +0 -0
  37. data/coverage/assets/0.10.2/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  38. data/coverage/assets/0.10.2/smoothness/images/ui-icons_454545_256x240.png +0 -0
  39. data/coverage/assets/0.10.2/smoothness/images/ui-icons_888888_256x240.png +0 -0
  40. data/coverage/assets/0.10.2/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  41. data/coverage/index.html +3868 -0
  42. data/database/.gitignore +4 -0
  43. data/lib/app/entities/data_storage.rb +27 -0
  44. data/lib/app/entities/game.rb +70 -0
  45. data/lib/app/entities/menu.rb +158 -0
  46. data/lib/app/entities/processor.rb +34 -0
  47. data/lib/app/entities/renderer.rb +63 -0
  48. data/lib/app/entities/statistics.rb +20 -0
  49. data/lib/app/i18n_config.rb +4 -0
  50. data/lib/app/locales/en.yml +39 -0
  51. data/lib/app/modules/validator.rb +17 -0
  52. data/lib/codebreaker_rg/version.rb +3 -0
  53. data/lib/codebreaker_rg.rb +7 -0
  54. data/pkg/codebreaker_rg-0.1.0.gem +0 -0
  55. metadata +238 -0
Binary file
Binary file
@@ -0,0 +1,3868 @@
1
+ <!DOCTYPE html>
2
+ <html xmlns='http://www.w3.org/1999/xhtml'>
3
+ <head>
4
+ <title>Code coverage for Codebreaker-gem</title>
5
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
6
+ <script src='./assets/0.10.2/application.js' type='text/javascript'></script>
7
+ <link href='./assets/0.10.2/application.css' media='screen, projection, print' rel='stylesheet' type='text/css'>
8
+ <link rel="shortcut icon" type="image/png" href="./assets/0.10.2/favicon_green.png" />
9
+ <link rel="icon" type="image/png" href="./assets/0.10.2/favicon.png" />
10
+ </head>
11
+
12
+ <body>
13
+ <div id="loading">
14
+ <img src="./assets/0.10.2/loading.gif" alt="loading"/>
15
+ </div>
16
+ <div id="wrapper" style="display:none;">
17
+ <div class="timestamp">Generated <abbr class="timeago" title="2018-12-28T09:34:09+02:00">2018-12-28T09:34:09+02:00</abbr></div>
18
+ <ul class="group_tabs"></ul>
19
+
20
+ <div id="content">
21
+ <div class="file_list_container" id="AllFiles">
22
+ <h2>
23
+ <span class="group_name">All Files</span>
24
+ (<span class="covered_percent"><span class="green">100.0%</span></span>
25
+ covered at
26
+ <span class="covered_strength">
27
+ <span class="green">
28
+ 1.83
29
+ </span>
30
+ </span> hits/line)
31
+ </h2>
32
+ <a name="AllFiles"></a>
33
+ <div>
34
+ <b>8</b> files in total.
35
+ <b>305</b> relevant lines.
36
+ <span class="green"><b>305</b> lines covered</span> and
37
+ <span class="red"><b>0</b> lines missed </span>
38
+ </div>
39
+ <table class="file_list">
40
+ <thead>
41
+ <tr>
42
+ <th>File</th>
43
+ <th>% covered</th>
44
+ <th>Lines</th>
45
+ <th>Relevant Lines</th>
46
+ <th>Lines covered</th>
47
+ <th>Lines missed</th>
48
+ <th>Avg. Hits / Line</th>
49
+ </tr>
50
+ </thead>
51
+ <tbody>
52
+
53
+ <tr>
54
+ <td class="strong"><a href="#e493fdd99977a0bdaff9fc4485bdcc8988a52b64" class="src_link" title="lib/codebreaker_rg.rb">lib/codebreaker_rg.rb</a></td>
55
+ <td class="green strong">100.0 %</td>
56
+ <td>7</td>
57
+ <td>2</td>
58
+ <td>2</td>
59
+ <td>0</td>
60
+ <td>1.0</td>
61
+ </tr>
62
+
63
+ <tr>
64
+ <td class="strong"><a href="#6e6378d244cfba868fccc397f71cb55940a63f86" class="src_link" title="spec/codebreaker/game_spec.rb">spec/codebreaker/game_spec.rb</a></td>
65
+ <td class="green strong">100.0 %</td>
66
+ <td>75</td>
67
+ <td>48</td>
68
+ <td>48</td>
69
+ <td>0</td>
70
+ <td>1.1</td>
71
+ </tr>
72
+
73
+ <tr>
74
+ <td class="strong"><a href="#3a29124849ad0733e971f26795556d7a0d84698e" class="src_link" title="spec/codebreaker/menu_spec.rb">spec/codebreaker/menu_spec.rb</a></td>
75
+ <td class="green strong">100.0 %</td>
76
+ <td>223</td>
77
+ <td>139</td>
78
+ <td>139</td>
79
+ <td>0</td>
80
+ <td>1.2</td>
81
+ </tr>
82
+
83
+ <tr>
84
+ <td class="strong"><a href="#0a268fbdd9fd3ef922dc24a6ec139387a21717cb" class="src_link" title="spec/codebreaker/processor_spec.rb">spec/codebreaker/processor_spec.rb</a></td>
85
+ <td class="green strong">100.0 %</td>
86
+ <td>49</td>
87
+ <td>6</td>
88
+ <td>6</td>
89
+ <td>0</td>
90
+ <td>35.3</td>
91
+ </tr>
92
+
93
+ <tr>
94
+ <td class="strong"><a href="#b6277e870864262390df16028b53d663bd25224a" class="src_link" title="spec/codebreaker/renderer_spec.rb">spec/codebreaker/renderer_spec.rb</a></td>
95
+ <td class="green strong">100.0 %</td>
96
+ <td>113</td>
97
+ <td>64</td>
98
+ <td>64</td>
99
+ <td>0</td>
100
+ <td>1.0</td>
101
+ </tr>
102
+
103
+ <tr>
104
+ <td class="strong"><a href="#214e6df7f3538b440e373546594f1a36adfbd207" class="src_link" title="spec/codebreaker/statistics_spec.rb">spec/codebreaker/statistics_spec.rb</a></td>
105
+ <td class="green strong">100.0 %</td>
106
+ <td>77</td>
107
+ <td>19</td>
108
+ <td>19</td>
109
+ <td>0</td>
110
+ <td>1.0</td>
111
+ </tr>
112
+
113
+ <tr>
114
+ <td class="strong"><a href="#39c360ff4d3469f6b627f2cfe0dcd9514d432c40" class="src_link" title="spec/codebreaker/validator_spec.rb">spec/codebreaker/validator_spec.rb</a></td>
115
+ <td class="green strong">100.0 %</td>
116
+ <td>45</td>
117
+ <td>24</td>
118
+ <td>24</td>
119
+ <td>0</td>
120
+ <td>1.6</td>
121
+ </tr>
122
+
123
+ <tr>
124
+ <td class="strong"><a href="#c6babf3a60909e3726cc4d1b65ee46b0c3fc36bc" class="src_link" title="spec/codebreaker_rg_spec.rb">spec/codebreaker_rg_spec.rb</a></td>
125
+ <td class="green strong">100.0 %</td>
126
+ <td>5</td>
127
+ <td>3</td>
128
+ <td>3</td>
129
+ <td>0</td>
130
+ <td>1.0</td>
131
+ </tr>
132
+
133
+ </tbody>
134
+ </table>
135
+ </div>
136
+
137
+
138
+
139
+ </div>
140
+
141
+ <div id="footer">
142
+ Generated by <a href="http://github.com/colszowka/simplecov">simplecov</a> v0.16.1
143
+ and simplecov-html v0.10.2<br/>
144
+ using RSpec
145
+ </div>
146
+
147
+ <div class="source_files">
148
+
149
+ <div class="source_table" id="e493fdd99977a0bdaff9fc4485bdcc8988a52b64">
150
+ <div class="header">
151
+ <h3>lib/codebreaker_rg.rb</h3>
152
+ <h4><span class="green">100.0 %</span> covered</h4>
153
+ <div>
154
+ <b>2</b> relevant lines.
155
+ <span class="green"><b>2</b> lines covered</span> and
156
+ <span class="red"><b>0</b> lines missed.</span>
157
+ </div>
158
+ </div>
159
+
160
+ <pre>
161
+ <ol>
162
+
163
+ <li class="never" data-hits="" data-linenumber="1">
164
+
165
+
166
+ <code class="ruby"># frozen_string_literal: true</code>
167
+ </li>
168
+
169
+ <li class="never" data-hits="" data-linenumber="2">
170
+
171
+
172
+ <code class="ruby"></code>
173
+ </li>
174
+
175
+ <li class="covered" data-hits="1" data-linenumber="3">
176
+ <span class="hits">1</span>
177
+
178
+ <code class="ruby">require &quot;codebreaker_rg/version&quot;</code>
179
+ </li>
180
+
181
+ <li class="never" data-hits="" data-linenumber="4">
182
+
183
+
184
+ <code class="ruby"></code>
185
+ </li>
186
+
187
+ <li class="covered" data-hits="1" data-linenumber="5">
188
+ <span class="hits">1</span>
189
+
190
+ <code class="ruby">module CodebreakerRg</code>
191
+ </li>
192
+
193
+ <li class="never" data-hits="" data-linenumber="6">
194
+
195
+
196
+ <code class="ruby"></code>
197
+ </li>
198
+
199
+ <li class="never" data-hits="" data-linenumber="7">
200
+
201
+
202
+ <code class="ruby">end</code>
203
+ </li>
204
+
205
+ </ol>
206
+ </pre>
207
+ </div>
208
+
209
+
210
+ <div class="source_table" id="6e6378d244cfba868fccc397f71cb55940a63f86">
211
+ <div class="header">
212
+ <h3>spec/codebreaker/game_spec.rb</h3>
213
+ <h4><span class="green">100.0 %</span> covered</h4>
214
+ <div>
215
+ <b>48</b> relevant lines.
216
+ <span class="green"><b>48</b> lines covered</span> and
217
+ <span class="red"><b>0</b> lines missed.</span>
218
+ </div>
219
+ </div>
220
+
221
+ <pre>
222
+ <ol>
223
+
224
+ <li class="never" data-hits="" data-linenumber="1">
225
+
226
+
227
+ <code class="ruby"># frozen_string_literal: true</code>
228
+ </li>
229
+
230
+ <li class="never" data-hits="" data-linenumber="2">
231
+
232
+
233
+ <code class="ruby"></code>
234
+ </li>
235
+
236
+ <li class="covered" data-hits="1" data-linenumber="3">
237
+ <span class="hits">1</span>
238
+
239
+ <code class="ruby">require &#39;spec_helper&#39;</code>
240
+ </li>
241
+
242
+ <li class="never" data-hits="" data-linenumber="4">
243
+
244
+
245
+ <code class="ruby"></code>
246
+ </li>
247
+
248
+ <li class="covered" data-hits="1" data-linenumber="5">
249
+ <span class="hits">1</span>
250
+
251
+ <code class="ruby">RSpec.describe Game do</code>
252
+ </li>
253
+
254
+ <li class="covered" data-hits="1" data-linenumber="6">
255
+ <span class="hits">1</span>
256
+
257
+ <code class="ruby"> let(:lose_result) { &#39;-+++&#39; }</code>
258
+ </li>
259
+
260
+ <li class="covered" data-hits="2" data-linenumber="7">
261
+ <span class="hits">2</span>
262
+
263
+ <code class="ruby"> let(:start_code) { &#39;1111&#39; }</code>
264
+ </li>
265
+
266
+ <li class="covered" data-hits="3" data-linenumber="8">
267
+ <span class="hits">3</span>
268
+
269
+ <code class="ruby"> let(:hints_array) { [1, 2] }</code>
270
+ </li>
271
+
272
+ <li class="covered" data-hits="2" data-linenumber="9">
273
+ <span class="hits">2</span>
274
+
275
+ <code class="ruby"> let(:valid_name) { &#39;a&#39; * rand(3..20) }</code>
276
+ </li>
277
+
278
+ <li class="covered" data-hits="2" data-linenumber="10">
279
+ <span class="hits">2</span>
280
+
281
+ <code class="ruby"> let(:code) { [1, 1, 1, 1] }</code>
282
+ </li>
283
+
284
+ <li class="never" data-hits="" data-linenumber="11">
285
+
286
+
287
+ <code class="ruby"></code>
288
+ </li>
289
+
290
+ <li class="covered" data-hits="1" data-linenumber="12">
291
+ <span class="hits">1</span>
292
+
293
+ <code class="ruby"> context &#39;when testing #take_a_hint! method&#39; do</code>
294
+ </li>
295
+
296
+ <li class="covered" data-hits="1" data-linenumber="13">
297
+ <span class="hits">1</span>
298
+
299
+ <code class="ruby"> it &#39;returnes last el of hints array&#39; do</code>
300
+ </li>
301
+
302
+ <li class="covered" data-hits="1" data-linenumber="14">
303
+ <span class="hits">1</span>
304
+
305
+ <code class="ruby"> subject.instance_variable_set(:@hints, hints_array)</code>
306
+ </li>
307
+
308
+ <li class="covered" data-hits="1" data-linenumber="15">
309
+ <span class="hits">1</span>
310
+
311
+ <code class="ruby"> expected_value = subject.hints.last</code>
312
+ </li>
313
+
314
+ <li class="covered" data-hits="1" data-linenumber="16">
315
+ <span class="hits">1</span>
316
+
317
+ <code class="ruby"> expect(subject.take_a_hint!).to eq expected_value</code>
318
+ </li>
319
+
320
+ <li class="never" data-hits="" data-linenumber="17">
321
+
322
+
323
+ <code class="ruby"> end</code>
324
+ </li>
325
+
326
+ <li class="never" data-hits="" data-linenumber="18">
327
+
328
+
329
+ <code class="ruby"> end</code>
330
+ </li>
331
+
332
+ <li class="never" data-hits="" data-linenumber="19">
333
+
334
+
335
+ <code class="ruby"></code>
336
+ </li>
337
+
338
+ <li class="covered" data-hits="1" data-linenumber="20">
339
+ <span class="hits">1</span>
340
+
341
+ <code class="ruby"> context &#39;testing #generate_secret_code method&#39; do</code>
342
+ </li>
343
+
344
+ <li class="covered" data-hits="1" data-linenumber="21">
345
+ <span class="hits">1</span>
346
+
347
+ <code class="ruby"> it &#39;checks that number mathes regex template&#39; do</code>
348
+ </li>
349
+
350
+ <li class="covered" data-hits="1" data-linenumber="22">
351
+ <span class="hits">1</span>
352
+
353
+ <code class="ruby"> secret_code = subject.send(:generate_secret_code).join</code>
354
+ </li>
355
+
356
+ <li class="covered" data-hits="1" data-linenumber="23">
357
+ <span class="hits">1</span>
358
+
359
+ <code class="ruby"> expect(secret_code).to match(/^[1-6]{#{Game::DIGITS_COUNT}}$/)</code>
360
+ </li>
361
+
362
+ <li class="never" data-hits="" data-linenumber="24">
363
+
364
+
365
+ <code class="ruby"> end</code>
366
+ </li>
367
+
368
+ <li class="never" data-hits="" data-linenumber="25">
369
+
370
+
371
+ <code class="ruby"> end</code>
372
+ </li>
373
+
374
+ <li class="never" data-hits="" data-linenumber="26">
375
+
376
+
377
+ <code class="ruby"></code>
378
+ </li>
379
+
380
+ <li class="covered" data-hits="1" data-linenumber="27">
381
+ <span class="hits">1</span>
382
+
383
+ <code class="ruby"> context &#39;when #generate method&#39; do</code>
384
+ </li>
385
+
386
+ <li class="covered" data-hits="1" data-linenumber="28">
387
+ <span class="hits">1</span>
388
+
389
+ <code class="ruby"> it do</code>
390
+ </li>
391
+
392
+ <li class="covered" data-hits="1" data-linenumber="29">
393
+ <span class="hits">1</span>
394
+
395
+ <code class="ruby"> difficulty = Game::DIFFICULTIES[:easy]</code>
396
+ </li>
397
+
398
+ <li class="covered" data-hits="1" data-linenumber="30">
399
+ <span class="hits">1</span>
400
+
401
+ <code class="ruby"> expect(subject).to receive(:generate_secret_code).and_return(code)</code>
402
+ </li>
403
+
404
+ <li class="covered" data-hits="1" data-linenumber="31">
405
+ <span class="hits">1</span>
406
+
407
+ <code class="ruby"> subject.generate(difficulty)</code>
408
+ </li>
409
+
410
+ <li class="covered" data-hits="1" data-linenumber="32">
411
+ <span class="hits">1</span>
412
+
413
+ <code class="ruby"> expect(subject.attempts).to eq difficulty[:attempts]</code>
414
+ </li>
415
+
416
+ <li class="covered" data-hits="1" data-linenumber="33">
417
+ <span class="hits">1</span>
418
+
419
+ <code class="ruby"> expect(subject.instance_variable_get(:@difficulty)).to eq difficulty</code>
420
+ </li>
421
+
422
+ <li class="covered" data-hits="1" data-linenumber="34">
423
+ <span class="hits">1</span>
424
+
425
+ <code class="ruby"> expect(code).to include(*subject.instance_variable_get(:@hints))</code>
426
+ </li>
427
+
428
+ <li class="never" data-hits="" data-linenumber="35">
429
+
430
+
431
+ <code class="ruby"> end</code>
432
+ </li>
433
+
434
+ <li class="never" data-hits="" data-linenumber="36">
435
+
436
+
437
+ <code class="ruby"> end</code>
438
+ </li>
439
+
440
+ <li class="never" data-hits="" data-linenumber="37">
441
+
442
+
443
+ <code class="ruby"></code>
444
+ </li>
445
+
446
+ <li class="covered" data-hits="1" data-linenumber="38">
447
+ <span class="hits">1</span>
448
+
449
+ <code class="ruby"> context &#39;when #start_process method&#39; do</code>
450
+ </li>
451
+
452
+ <li class="covered" data-hits="1" data-linenumber="39">
453
+ <span class="hits">1</span>
454
+
455
+ <code class="ruby"> it do</code>
456
+ </li>
457
+
458
+ <li class="covered" data-hits="1" data-linenumber="40">
459
+ <span class="hits">1</span>
460
+
461
+ <code class="ruby"> process = subject.instance_variable_get(:@process)</code>
462
+ </li>
463
+
464
+ <li class="covered" data-hits="1" data-linenumber="41">
465
+ <span class="hits">1</span>
466
+
467
+ <code class="ruby"> win_code = Array.new(Game::DIGITS_COUNT, Processor::MATCHED_DIGIT_CHAR)</code>
468
+ </li>
469
+
470
+ <li class="covered" data-hits="1" data-linenumber="42">
471
+ <span class="hits">1</span>
472
+
473
+ <code class="ruby"> subject.instance_variable_set(:@code, win_code)</code>
474
+ </li>
475
+
476
+ <li class="covered" data-hits="1" data-linenumber="43">
477
+ <span class="hits">1</span>
478
+
479
+ <code class="ruby"> expect(process).to receive(:secret_code_proc).with(win_code.join, start_code)</code>
480
+ </li>
481
+
482
+ <li class="covered" data-hits="1" data-linenumber="44">
483
+ <span class="hits">1</span>
484
+
485
+ <code class="ruby"> subject.start_process(start_code)</code>
486
+ </li>
487
+
488
+ <li class="never" data-hits="" data-linenumber="45">
489
+
490
+
491
+ <code class="ruby"> end</code>
492
+ </li>
493
+
494
+ <li class="never" data-hits="" data-linenumber="46">
495
+
496
+
497
+ <code class="ruby"> end</code>
498
+ </li>
499
+
500
+ <li class="never" data-hits="" data-linenumber="47">
501
+
502
+
503
+ <code class="ruby"></code>
504
+ </li>
505
+
506
+ <li class="covered" data-hits="1" data-linenumber="48">
507
+ <span class="hits">1</span>
508
+
509
+ <code class="ruby"> context &#39;used #decrease_attempts! method&#39; do</code>
510
+ </li>
511
+
512
+ <li class="covered" data-hits="1" data-linenumber="49">
513
+ <span class="hits">1</span>
514
+
515
+ <code class="ruby"> it &#39;decreases attempts by one when used&#39; do</code>
516
+ </li>
517
+
518
+ <li class="covered" data-hits="1" data-linenumber="50">
519
+ <span class="hits">1</span>
520
+
521
+ <code class="ruby"> subject.instance_variable_set(:@attempts, 3)</code>
522
+ </li>
523
+
524
+ <li class="covered" data-hits="2" data-linenumber="51">
525
+ <span class="hits">2</span>
526
+
527
+ <code class="ruby"> expect { subject.decrease_attempts! }.to change(subject, :attempts).by(-1)</code>
528
+ </li>
529
+
530
+ <li class="never" data-hits="" data-linenumber="52">
531
+
532
+
533
+ <code class="ruby"> end</code>
534
+ </li>
535
+
536
+ <li class="never" data-hits="" data-linenumber="53">
537
+
538
+
539
+ <code class="ruby"> end</code>
540
+ </li>
541
+
542
+ <li class="never" data-hits="" data-linenumber="54">
543
+
544
+
545
+ <code class="ruby"></code>
546
+ </li>
547
+
548
+ <li class="covered" data-hits="1" data-linenumber="55">
549
+ <span class="hits">1</span>
550
+
551
+ <code class="ruby"> context &#39;when testing #hints_spent? method&#39; do</code>
552
+ </li>
553
+
554
+ <li class="covered" data-hits="1" data-linenumber="56">
555
+ <span class="hits">1</span>
556
+
557
+ <code class="ruby"> it &#39;returns true&#39; do</code>
558
+ </li>
559
+
560
+ <li class="covered" data-hits="1" data-linenumber="57">
561
+ <span class="hits">1</span>
562
+
563
+ <code class="ruby"> subject.instance_variable_set(:@hints, [])</code>
564
+ </li>
565
+
566
+ <li class="covered" data-hits="1" data-linenumber="58">
567
+ <span class="hits">1</span>
568
+
569
+ <code class="ruby"> expect(subject.hints_spent?).to be true</code>
570
+ </li>
571
+
572
+ <li class="never" data-hits="" data-linenumber="59">
573
+
574
+
575
+ <code class="ruby"> end</code>
576
+ </li>
577
+
578
+ <li class="never" data-hits="" data-linenumber="60">
579
+
580
+
581
+ <code class="ruby"></code>
582
+ </li>
583
+
584
+ <li class="covered" data-hits="1" data-linenumber="61">
585
+ <span class="hits">1</span>
586
+
587
+ <code class="ruby"> it &#39;returns false&#39; do</code>
588
+ </li>
589
+
590
+ <li class="covered" data-hits="1" data-linenumber="62">
591
+ <span class="hits">1</span>
592
+
593
+ <code class="ruby"> subject.instance_variable_set(:@hints, [1, 2])</code>
594
+ </li>
595
+
596
+ <li class="covered" data-hits="1" data-linenumber="63">
597
+ <span class="hits">1</span>
598
+
599
+ <code class="ruby"> expect(subject.hints_spent?).to be false</code>
600
+ </li>
601
+
602
+ <li class="never" data-hits="" data-linenumber="64">
603
+
604
+
605
+ <code class="ruby"> end</code>
606
+ </li>
607
+
608
+ <li class="never" data-hits="" data-linenumber="65">
609
+
610
+
611
+ <code class="ruby"> end</code>
612
+ </li>
613
+
614
+ <li class="never" data-hits="" data-linenumber="66">
615
+
616
+
617
+ <code class="ruby"></code>
618
+ </li>
619
+
620
+ <li class="covered" data-hits="1" data-linenumber="67">
621
+ <span class="hits">1</span>
622
+
623
+ <code class="ruby"> context &#39;when testing #to_h method&#39; do</code>
624
+ </li>
625
+
626
+ <li class="covered" data-hits="1" data-linenumber="68">
627
+ <span class="hits">1</span>
628
+
629
+ <code class="ruby"> it &#39;returns hash&#39; do</code>
630
+ </li>
631
+
632
+ <li class="covered" data-hits="1" data-linenumber="69">
633
+ <span class="hits">1</span>
634
+
635
+ <code class="ruby"> subject.instance_variable_set(:@difficulty, Game::DIFFICULTIES[:easy])</code>
636
+ </li>
637
+
638
+ <li class="covered" data-hits="1" data-linenumber="70">
639
+ <span class="hits">1</span>
640
+
641
+ <code class="ruby"> subject.instance_variable_set(:@attempts, 2)</code>
642
+ </li>
643
+
644
+ <li class="covered" data-hits="1" data-linenumber="71">
645
+ <span class="hits">1</span>
646
+
647
+ <code class="ruby"> subject.instance_variable_set(:@hints, hints_array)</code>
648
+ </li>
649
+
650
+ <li class="covered" data-hits="1" data-linenumber="72">
651
+ <span class="hits">1</span>
652
+
653
+ <code class="ruby"> expect(subject.to_h(valid_name)).to be_an_instance_of(Hash)</code>
654
+ </li>
655
+
656
+ <li class="never" data-hits="" data-linenumber="73">
657
+
658
+
659
+ <code class="ruby"> end</code>
660
+ </li>
661
+
662
+ <li class="never" data-hits="" data-linenumber="74">
663
+
664
+
665
+ <code class="ruby"> end</code>
666
+ </li>
667
+
668
+ <li class="never" data-hits="" data-linenumber="75">
669
+
670
+
671
+ <code class="ruby">end</code>
672
+ </li>
673
+
674
+ </ol>
675
+ </pre>
676
+ </div>
677
+
678
+
679
+ <div class="source_table" id="3a29124849ad0733e971f26795556d7a0d84698e">
680
+ <div class="header">
681
+ <h3>spec/codebreaker/menu_spec.rb</h3>
682
+ <h4><span class="green">100.0 %</span> covered</h4>
683
+ <div>
684
+ <b>139</b> relevant lines.
685
+ <span class="green"><b>139</b> lines covered</span> and
686
+ <span class="red"><b>0</b> lines missed.</span>
687
+ </div>
688
+ </div>
689
+
690
+ <pre>
691
+ <ol>
692
+
693
+ <li class="never" data-hits="" data-linenumber="1">
694
+
695
+
696
+ <code class="ruby"># frozen_string_literal: true</code>
697
+ </li>
698
+
699
+ <li class="never" data-hits="" data-linenumber="2">
700
+
701
+
702
+ <code class="ruby"></code>
703
+ </li>
704
+
705
+ <li class="covered" data-hits="1" data-linenumber="3">
706
+ <span class="hits">1</span>
707
+
708
+ <code class="ruby">require &#39;spec_helper&#39;</code>
709
+ </li>
710
+
711
+ <li class="never" data-hits="" data-linenumber="4">
712
+
713
+
714
+ <code class="ruby"></code>
715
+ </li>
716
+
717
+ <li class="covered" data-hits="1" data-linenumber="5">
718
+ <span class="hits">1</span>
719
+
720
+ <code class="ruby">RSpec.describe Menu do</code>
721
+ </li>
722
+
723
+ <li class="covered" data-hits="1" data-linenumber="6">
724
+ <span class="hits">1</span>
725
+
726
+ <code class="ruby"> let(:hints_array) { [1, 2] }</code>
727
+ </li>
728
+
729
+ <li class="covered" data-hits="1" data-linenumber="7">
730
+ <span class="hits">1</span>
731
+
732
+ <code class="ruby"> let(:code) { [1, 2, 3, 4] }</code>
733
+ </li>
734
+
735
+ <li class="covered" data-hits="5" data-linenumber="8">
736
+ <span class="hits">5</span>
737
+
738
+ <code class="ruby"> let(:command) { &#39;1111&#39; }</code>
739
+ </li>
740
+
741
+ <li class="covered" data-hits="6" data-linenumber="9">
742
+ <span class="hits">6</span>
743
+
744
+ <code class="ruby"> let(:valid_name) { &#39;a&#39; * rand(3..20) }</code>
745
+ </li>
746
+
747
+ <li class="covered" data-hits="2" data-linenumber="10">
748
+ <span class="hits">2</span>
749
+
750
+ <code class="ruby"> let(:invalid_name) { &#39;a&#39; * rand(0..2) }</code>
751
+ </li>
752
+
753
+ <li class="covered" data-hits="1" data-linenumber="11">
754
+ <span class="hits">1</span>
755
+
756
+ <code class="ruby"> let(:list) do</code>
757
+ </li>
758
+
759
+ <li class="covered" data-hits="2" data-linenumber="12">
760
+ <span class="hits">2</span>
761
+
762
+ <code class="ruby"> [{</code>
763
+ </li>
764
+
765
+ <li class="never" data-hits="" data-linenumber="13">
766
+
767
+
768
+ <code class="ruby"> name: valid_name,</code>
769
+ </li>
770
+
771
+ <li class="never" data-hits="" data-linenumber="14">
772
+
773
+
774
+ <code class="ruby"> difficulty: Game::DIFFICULTIES.keys.first.to_s,</code>
775
+ </li>
776
+
777
+ <li class="never" data-hits="" data-linenumber="15">
778
+
779
+
780
+ <code class="ruby"> all_attempts: 15,</code>
781
+ </li>
782
+
783
+ <li class="never" data-hits="" data-linenumber="16">
784
+
785
+
786
+ <code class="ruby"> attempts_used: 15,</code>
787
+ </li>
788
+
789
+ <li class="never" data-hits="" data-linenumber="17">
790
+
791
+
792
+ <code class="ruby"> all_hints: 2,</code>
793
+ </li>
794
+
795
+ <li class="never" data-hits="" data-linenumber="18">
796
+
797
+
798
+ <code class="ruby"> hints_used: 0</code>
799
+ </li>
800
+
801
+ <li class="never" data-hits="" data-linenumber="19">
802
+
803
+
804
+ <code class="ruby"> }]</code>
805
+ </li>
806
+
807
+ <li class="never" data-hits="" data-linenumber="20">
808
+
809
+
810
+ <code class="ruby"> end</code>
811
+ </li>
812
+
813
+ <li class="never" data-hits="" data-linenumber="21">
814
+
815
+
816
+ <code class="ruby"></code>
817
+ </li>
818
+
819
+ <li class="covered" data-hits="1" data-linenumber="22">
820
+ <span class="hits">1</span>
821
+
822
+ <code class="ruby"> context &#39;when testing #game_menu method&#39; do</code>
823
+ </li>
824
+
825
+ <li class="covered" data-hits="1" data-linenumber="23">
826
+ <span class="hits">1</span>
827
+
828
+ <code class="ruby"> it &#39;works with choice_options&#39; do</code>
829
+ </li>
830
+
831
+ <li class="covered" data-hits="1" data-linenumber="24">
832
+ <span class="hits">1</span>
833
+
834
+ <code class="ruby"> expect(subject.renderer).to receive(:start_message)</code>
835
+ </li>
836
+
837
+ <li class="covered" data-hits="1" data-linenumber="25">
838
+ <span class="hits">1</span>
839
+
840
+ <code class="ruby"> expect(subject).to receive(:ask)</code>
841
+ </li>
842
+
843
+ <li class="covered" data-hits="1" data-linenumber="26">
844
+ <span class="hits">1</span>
845
+
846
+ <code class="ruby"> expect(subject).to receive(:choice_menu_process).once</code>
847
+ </li>
848
+
849
+ <li class="covered" data-hits="1" data-linenumber="27">
850
+ <span class="hits">1</span>
851
+
852
+ <code class="ruby"> subject.game_menu</code>
853
+ </li>
854
+
855
+ <li class="never" data-hits="" data-linenumber="28">
856
+
857
+
858
+ <code class="ruby"> end</code>
859
+ </li>
860
+
861
+ <li class="never" data-hits="" data-linenumber="29">
862
+
863
+
864
+ <code class="ruby"> end</code>
865
+ </li>
866
+
867
+ <li class="never" data-hits="" data-linenumber="30">
868
+
869
+
870
+ <code class="ruby"></code>
871
+ </li>
872
+
873
+ <li class="covered" data-hits="1" data-linenumber="31">
874
+ <span class="hits">1</span>
875
+
876
+ <code class="ruby"> context &#39;when testing #rules&#39; do</code>
877
+ </li>
878
+
879
+ <li class="covered" data-hits="1" data-linenumber="32">
880
+ <span class="hits">1</span>
881
+
882
+ <code class="ruby"> it &#39;calls rules message&#39; do</code>
883
+ </li>
884
+
885
+ <li class="covered" data-hits="1" data-linenumber="33">
886
+ <span class="hits">1</span>
887
+
888
+ <code class="ruby"> expect(subject.renderer).to receive(:rules)</code>
889
+ </li>
890
+
891
+ <li class="covered" data-hits="1" data-linenumber="34">
892
+ <span class="hits">1</span>
893
+
894
+ <code class="ruby"> expect(subject).to receive(:game_menu)</code>
895
+ </li>
896
+
897
+ <li class="covered" data-hits="1" data-linenumber="35">
898
+ <span class="hits">1</span>
899
+
900
+ <code class="ruby"> subject.send(:rules)</code>
901
+ </li>
902
+
903
+ <li class="never" data-hits="" data-linenumber="36">
904
+
905
+
906
+ <code class="ruby"> end</code>
907
+ </li>
908
+
909
+ <li class="never" data-hits="" data-linenumber="37">
910
+
911
+
912
+ <code class="ruby"> end</code>
913
+ </li>
914
+
915
+ <li class="never" data-hits="" data-linenumber="38">
916
+
917
+
918
+ <code class="ruby"></code>
919
+ </li>
920
+
921
+ <li class="covered" data-hits="1" data-linenumber="39">
922
+ <span class="hits">1</span>
923
+
924
+ <code class="ruby"> context &#39;when testing #start method&#39; do</code>
925
+ </li>
926
+
927
+ <li class="covered" data-hits="1" data-linenumber="40">
928
+ <span class="hits">1</span>
929
+
930
+ <code class="ruby"> it do</code>
931
+ </li>
932
+
933
+ <li class="covered" data-hits="1" data-linenumber="41">
934
+ <span class="hits">1</span>
935
+
936
+ <code class="ruby"> expect(subject).to receive(:registrate_user)</code>
937
+ </li>
938
+
939
+ <li class="covered" data-hits="1" data-linenumber="42">
940
+ <span class="hits">1</span>
941
+
942
+ <code class="ruby"> expect(subject).to receive(:level_choice)</code>
943
+ </li>
944
+
945
+ <li class="covered" data-hits="1" data-linenumber="43">
946
+ <span class="hits">1</span>
947
+
948
+ <code class="ruby"> expect(subject).to receive(:game_process)</code>
949
+ </li>
950
+
951
+ <li class="covered" data-hits="1" data-linenumber="44">
952
+ <span class="hits">1</span>
953
+
954
+ <code class="ruby"> subject.send(:start)</code>
955
+ </li>
956
+
957
+ <li class="never" data-hits="" data-linenumber="45">
958
+
959
+
960
+ <code class="ruby"> end</code>
961
+ </li>
962
+
963
+ <li class="never" data-hits="" data-linenumber="46">
964
+
965
+
966
+ <code class="ruby"> end</code>
967
+ </li>
968
+
969
+ <li class="never" data-hits="" data-linenumber="47">
970
+
971
+
972
+ <code class="ruby"></code>
973
+ </li>
974
+
975
+ <li class="covered" data-hits="1" data-linenumber="48">
976
+ <span class="hits">1</span>
977
+
978
+ <code class="ruby"> context &#39;when testing #stats method&#39; do</code>
979
+ </li>
980
+
981
+ <li class="covered" data-hits="1" data-linenumber="49">
982
+ <span class="hits">1</span>
983
+
984
+ <code class="ruby"> it &#39;returns stats&#39; do</code>
985
+ </li>
986
+
987
+ <li class="covered" data-hits="1" data-linenumber="50">
988
+ <span class="hits">1</span>
989
+
990
+ <code class="ruby"> statistics = subject.instance_variable_get(:@statistics)</code>
991
+ </li>
992
+
993
+ <li class="covered" data-hits="2" data-linenumber="51">
994
+ <span class="hits">2</span>
995
+
996
+ <code class="ruby"> expect(subject.storage).to receive(:load) { list }</code>
997
+ </li>
998
+
999
+ <li class="covered" data-hits="1" data-linenumber="52">
1000
+ <span class="hits">1</span>
1001
+
1002
+ <code class="ruby"> expect(statistics).to receive(:stats)</code>
1003
+ </li>
1004
+
1005
+ <li class="covered" data-hits="1" data-linenumber="53">
1006
+ <span class="hits">1</span>
1007
+
1008
+ <code class="ruby"> expect(subject).to receive(:render_stats)</code>
1009
+ </li>
1010
+
1011
+ <li class="covered" data-hits="1" data-linenumber="54">
1012
+ <span class="hits">1</span>
1013
+
1014
+ <code class="ruby"> expect(subject).to receive(:game_menu)</code>
1015
+ </li>
1016
+
1017
+ <li class="covered" data-hits="1" data-linenumber="55">
1018
+ <span class="hits">1</span>
1019
+
1020
+ <code class="ruby"> subject.send(:stats)</code>
1021
+ </li>
1022
+
1023
+ <li class="never" data-hits="" data-linenumber="56">
1024
+
1025
+
1026
+ <code class="ruby"> end</code>
1027
+ </li>
1028
+
1029
+ <li class="never" data-hits="" data-linenumber="57">
1030
+
1031
+
1032
+ <code class="ruby"> end</code>
1033
+ </li>
1034
+
1035
+ <li class="never" data-hits="" data-linenumber="58">
1036
+
1037
+
1038
+ <code class="ruby"></code>
1039
+ </li>
1040
+
1041
+ <li class="covered" data-hits="1" data-linenumber="59">
1042
+ <span class="hits">1</span>
1043
+
1044
+ <code class="ruby"> context &#39;when testing #save_result method&#39; do</code>
1045
+ </li>
1046
+
1047
+ <li class="covered" data-hits="1" data-linenumber="60">
1048
+ <span class="hits">1</span>
1049
+
1050
+ <code class="ruby"> it &#39;expexts the choice of user&#39; do</code>
1051
+ </li>
1052
+
1053
+ <li class="covered" data-hits="1" data-linenumber="61">
1054
+ <span class="hits">1</span>
1055
+
1056
+ <code class="ruby"> expect(subject).to receive(:ask).with(:save_results_message).and_return(Menu::CHOOSE_COMMANDS[:yes])</code>
1057
+ </li>
1058
+
1059
+ <li class="covered" data-hits="1" data-linenumber="62">
1060
+ <span class="hits">1</span>
1061
+
1062
+ <code class="ruby"> subject.instance_variable_set(:@name, valid_name)</code>
1063
+ </li>
1064
+
1065
+ <li class="covered" data-hits="2" data-linenumber="63">
1066
+ <span class="hits">2</span>
1067
+
1068
+ <code class="ruby"> expect(subject.game).to receive(:to_h).with(valid_name) { {} }</code>
1069
+ </li>
1070
+
1071
+ <li class="covered" data-hits="1" data-linenumber="64">
1072
+ <span class="hits">1</span>
1073
+
1074
+ <code class="ruby"> expect(subject.storage).to receive(:save_game_result).with({})</code>
1075
+ </li>
1076
+
1077
+ <li class="covered" data-hits="1" data-linenumber="65">
1078
+ <span class="hits">1</span>
1079
+
1080
+ <code class="ruby"> subject.send(:save_result)</code>
1081
+ </li>
1082
+
1083
+ <li class="never" data-hits="" data-linenumber="66">
1084
+
1085
+
1086
+ <code class="ruby"> end</code>
1087
+ </li>
1088
+
1089
+ <li class="never" data-hits="" data-linenumber="67">
1090
+
1091
+
1092
+ <code class="ruby"> end</code>
1093
+ </li>
1094
+
1095
+ <li class="never" data-hits="" data-linenumber="68">
1096
+
1097
+
1098
+ <code class="ruby"></code>
1099
+ </li>
1100
+
1101
+ <li class="covered" data-hits="1" data-linenumber="69">
1102
+ <span class="hits">1</span>
1103
+
1104
+ <code class="ruby"> context &#39;when testing #registration method&#39; do</code>
1105
+ </li>
1106
+
1107
+ <li class="covered" data-hits="1" data-linenumber="70">
1108
+ <span class="hits">1</span>
1109
+
1110
+ <code class="ruby"> it &#39;set name&#39; do</code>
1111
+ </li>
1112
+
1113
+ <li class="covered" data-hits="1" data-linenumber="71">
1114
+ <span class="hits">1</span>
1115
+
1116
+ <code class="ruby"> expect(subject).to receive(:ask).with(:registration).and_return(valid_name)</code>
1117
+ </li>
1118
+
1119
+ <li class="covered" data-hits="1" data-linenumber="72">
1120
+ <span class="hits">1</span>
1121
+
1122
+ <code class="ruby"> subject.send(:registrate_user)</code>
1123
+ </li>
1124
+
1125
+ <li class="never" data-hits="" data-linenumber="73">
1126
+
1127
+
1128
+ <code class="ruby"> end</code>
1129
+ </li>
1130
+
1131
+ <li class="never" data-hits="" data-linenumber="74">
1132
+
1133
+
1134
+ <code class="ruby"> end</code>
1135
+ </li>
1136
+
1137
+ <li class="never" data-hits="" data-linenumber="75">
1138
+
1139
+
1140
+ <code class="ruby"></code>
1141
+ </li>
1142
+
1143
+ <li class="covered" data-hits="1" data-linenumber="76">
1144
+ <span class="hits">1</span>
1145
+
1146
+ <code class="ruby"> context &#39;when testing #name_valid? method&#39; do</code>
1147
+ </li>
1148
+
1149
+ <li class="covered" data-hits="1" data-linenumber="77">
1150
+ <span class="hits">1</span>
1151
+
1152
+ <code class="ruby"> it &#39;returns true&#39; do</code>
1153
+ </li>
1154
+
1155
+ <li class="covered" data-hits="1" data-linenumber="78">
1156
+ <span class="hits">1</span>
1157
+
1158
+ <code class="ruby"> expect(subject.send(:name_valid?, valid_name)).to be true</code>
1159
+ </li>
1160
+
1161
+ <li class="never" data-hits="" data-linenumber="79">
1162
+
1163
+
1164
+ <code class="ruby"> end</code>
1165
+ </li>
1166
+
1167
+ <li class="never" data-hits="" data-linenumber="80">
1168
+
1169
+
1170
+ <code class="ruby"></code>
1171
+ </li>
1172
+
1173
+ <li class="covered" data-hits="1" data-linenumber="81">
1174
+ <span class="hits">1</span>
1175
+
1176
+ <code class="ruby"> it &#39;returns false&#39; do</code>
1177
+ </li>
1178
+
1179
+ <li class="covered" data-hits="1" data-linenumber="82">
1180
+ <span class="hits">1</span>
1181
+
1182
+ <code class="ruby"> expect(subject.send(:name_valid?, invalid_name)).to be false</code>
1183
+ </li>
1184
+
1185
+ <li class="never" data-hits="" data-linenumber="83">
1186
+
1187
+
1188
+ <code class="ruby"> end</code>
1189
+ </li>
1190
+
1191
+ <li class="never" data-hits="" data-linenumber="84">
1192
+
1193
+
1194
+ <code class="ruby"> end</code>
1195
+ </li>
1196
+
1197
+ <li class="never" data-hits="" data-linenumber="85">
1198
+
1199
+
1200
+ <code class="ruby"></code>
1201
+ </li>
1202
+
1203
+ <li class="covered" data-hits="1" data-linenumber="86">
1204
+ <span class="hits">1</span>
1205
+
1206
+ <code class="ruby"> context &#39;when testing #level_choice method&#39; do</code>
1207
+ </li>
1208
+
1209
+ <li class="covered" data-hits="1" data-linenumber="87">
1210
+ <span class="hits">1</span>
1211
+
1212
+ <code class="ruby"> it &#39;returns #generate_game&#39; do</code>
1213
+ </li>
1214
+
1215
+ <li class="covered" data-hits="1" data-linenumber="88">
1216
+ <span class="hits">1</span>
1217
+
1218
+ <code class="ruby"> level = Game::DIFFICULTIES.keys.first</code>
1219
+ </li>
1220
+
1221
+ <li class="covered" data-hits="2" data-linenumber="89">
1222
+ <span class="hits">2</span>
1223
+
1224
+ <code class="ruby"> expect(subject).to receive(:ask).with(:hard_level, levels: Game::DIFFICULTIES.keys.join(&#39; | &#39;)) { level }</code>
1225
+ </li>
1226
+
1227
+ <li class="covered" data-hits="1" data-linenumber="90">
1228
+ <span class="hits">1</span>
1229
+
1230
+ <code class="ruby"> expect(subject).to receive(:generate_game).with(Game::DIFFICULTIES[level.to_sym])</code>
1231
+ </li>
1232
+
1233
+ <li class="covered" data-hits="1" data-linenumber="91">
1234
+ <span class="hits">1</span>
1235
+
1236
+ <code class="ruby"> subject.send(:level_choice)</code>
1237
+ </li>
1238
+
1239
+ <li class="never" data-hits="" data-linenumber="92">
1240
+
1241
+
1242
+ <code class="ruby"> end</code>
1243
+ </li>
1244
+
1245
+ <li class="never" data-hits="" data-linenumber="93">
1246
+
1247
+
1248
+ <code class="ruby"></code>
1249
+ </li>
1250
+
1251
+ <li class="covered" data-hits="1" data-linenumber="94">
1252
+ <span class="hits">1</span>
1253
+
1254
+ <code class="ruby"> it &#39;returns #game_menu&#39; do</code>
1255
+ </li>
1256
+
1257
+ <li class="covered" data-hits="1" data-linenumber="95">
1258
+ <span class="hits">1</span>
1259
+
1260
+ <code class="ruby"> exit = Menu::COMMANDS[:exit]</code>
1261
+ </li>
1262
+
1263
+ <li class="covered" data-hits="2" data-linenumber="96">
1264
+ <span class="hits">2</span>
1265
+
1266
+ <code class="ruby"> expect(subject).to receive(:ask).with(:hard_level, levels: Game::DIFFICULTIES.keys.join(&#39; | &#39;)) { exit }</code>
1267
+ </li>
1268
+
1269
+ <li class="covered" data-hits="1" data-linenumber="97">
1270
+ <span class="hits">1</span>
1271
+
1272
+ <code class="ruby"> expect(subject).to receive(:game_menu)</code>
1273
+ </li>
1274
+
1275
+ <li class="covered" data-hits="1" data-linenumber="98">
1276
+ <span class="hits">1</span>
1277
+
1278
+ <code class="ruby"> subject.send(:level_choice)</code>
1279
+ </li>
1280
+
1281
+ <li class="never" data-hits="" data-linenumber="99">
1282
+
1283
+
1284
+ <code class="ruby"> end</code>
1285
+ </li>
1286
+
1287
+ <li class="never" data-hits="" data-linenumber="100">
1288
+
1289
+
1290
+ <code class="ruby"></code>
1291
+ </li>
1292
+
1293
+ <li class="covered" data-hits="1" data-linenumber="101">
1294
+ <span class="hits">1</span>
1295
+
1296
+ <code class="ruby"> it &#39;returns #command_error&#39; do</code>
1297
+ </li>
1298
+
1299
+ <li class="covered" data-hits="2" data-linenumber="102">
1300
+ <span class="hits">2</span>
1301
+
1302
+ <code class="ruby"> expect(subject).to receive(:ask).with(:hard_level, levels: Game::DIFFICULTIES.keys.join(&#39; | &#39;)) { command }</code>
1303
+ </li>
1304
+
1305
+ <li class="covered" data-hits="1" data-linenumber="103">
1306
+ <span class="hits">1</span>
1307
+
1308
+ <code class="ruby"> expect(subject.renderer).to receive(:command_error)</code>
1309
+ </li>
1310
+
1311
+ <li class="covered" data-hits="1" data-linenumber="104">
1312
+ <span class="hits">1</span>
1313
+
1314
+ <code class="ruby"> allow(subject).to receive(:loop).and_yield</code>
1315
+ </li>
1316
+
1317
+ <li class="covered" data-hits="1" data-linenumber="105">
1318
+ <span class="hits">1</span>
1319
+
1320
+ <code class="ruby"> subject.send(:level_choice)</code>
1321
+ </li>
1322
+
1323
+ <li class="never" data-hits="" data-linenumber="106">
1324
+
1325
+
1326
+ <code class="ruby"> end</code>
1327
+ </li>
1328
+
1329
+ <li class="never" data-hits="" data-linenumber="107">
1330
+
1331
+
1332
+ <code class="ruby"> end</code>
1333
+ </li>
1334
+
1335
+ <li class="never" data-hits="" data-linenumber="108">
1336
+
1337
+
1338
+ <code class="ruby"></code>
1339
+ </li>
1340
+
1341
+ <li class="covered" data-hits="1" data-linenumber="109">
1342
+ <span class="hits">1</span>
1343
+
1344
+ <code class="ruby"> context &#39;when testing #choice_code_process method&#39; do</code>
1345
+ </li>
1346
+
1347
+ <li class="covered" data-hits="1" data-linenumber="110">
1348
+ <span class="hits">1</span>
1349
+
1350
+ <code class="ruby"> it &#39;returns #take_a_hint!&#39; do</code>
1351
+ </li>
1352
+
1353
+ <li class="covered" data-hits="1" data-linenumber="111">
1354
+ <span class="hits">1</span>
1355
+
1356
+ <code class="ruby"> subject.instance_variable_set(:@guess, Menu::HINT_COMMAND)</code>
1357
+ </li>
1358
+
1359
+ <li class="covered" data-hits="1" data-linenumber="112">
1360
+ <span class="hits">1</span>
1361
+
1362
+ <code class="ruby"> expect(subject).to receive(:hint_process)</code>
1363
+ </li>
1364
+
1365
+ <li class="covered" data-hits="1" data-linenumber="113">
1366
+ <span class="hits">1</span>
1367
+
1368
+ <code class="ruby"> subject.send(:choice_code_process)</code>
1369
+ </li>
1370
+
1371
+ <li class="never" data-hits="" data-linenumber="114">
1372
+
1373
+
1374
+ <code class="ruby"> end</code>
1375
+ </li>
1376
+
1377
+ <li class="never" data-hits="" data-linenumber="115">
1378
+
1379
+
1380
+ <code class="ruby"></code>
1381
+ </li>
1382
+
1383
+ <li class="covered" data-hits="1" data-linenumber="116">
1384
+ <span class="hits">1</span>
1385
+
1386
+ <code class="ruby"> it &#39;returns #game_menu&#39; do</code>
1387
+ </li>
1388
+
1389
+ <li class="covered" data-hits="1" data-linenumber="117">
1390
+ <span class="hits">1</span>
1391
+
1392
+ <code class="ruby"> subject.instance_variable_set(:@guess, Menu::COMMANDS[:exit])</code>
1393
+ </li>
1394
+
1395
+ <li class="covered" data-hits="1" data-linenumber="118">
1396
+ <span class="hits">1</span>
1397
+
1398
+ <code class="ruby"> expect(subject).to receive(:game_menu)</code>
1399
+ </li>
1400
+
1401
+ <li class="covered" data-hits="1" data-linenumber="119">
1402
+ <span class="hits">1</span>
1403
+
1404
+ <code class="ruby"> subject.send(:choice_code_process)</code>
1405
+ </li>
1406
+
1407
+ <li class="never" data-hits="" data-linenumber="120">
1408
+
1409
+
1410
+ <code class="ruby"> end</code>
1411
+ </li>
1412
+
1413
+ <li class="never" data-hits="" data-linenumber="121">
1414
+
1415
+
1416
+ <code class="ruby"></code>
1417
+ </li>
1418
+
1419
+ <li class="covered" data-hits="1" data-linenumber="122">
1420
+ <span class="hits">1</span>
1421
+
1422
+ <code class="ruby"> it &#39;returns #handle_command&#39; do</code>
1423
+ </li>
1424
+
1425
+ <li class="covered" data-hits="1" data-linenumber="123">
1426
+ <span class="hits">1</span>
1427
+
1428
+ <code class="ruby"> subject.instance_variable_set(:@guess, command)</code>
1429
+ </li>
1430
+
1431
+ <li class="covered" data-hits="1" data-linenumber="124">
1432
+ <span class="hits">1</span>
1433
+
1434
+ <code class="ruby"> expect(subject).to receive(:handle_command)</code>
1435
+ </li>
1436
+
1437
+ <li class="covered" data-hits="1" data-linenumber="125">
1438
+ <span class="hits">1</span>
1439
+
1440
+ <code class="ruby"> subject.send(:choice_code_process)</code>
1441
+ </li>
1442
+
1443
+ <li class="never" data-hits="" data-linenumber="126">
1444
+
1445
+
1446
+ <code class="ruby"> end</code>
1447
+ </li>
1448
+
1449
+ <li class="never" data-hits="" data-linenumber="127">
1450
+
1451
+
1452
+ <code class="ruby"> end</code>
1453
+ </li>
1454
+
1455
+ <li class="never" data-hits="" data-linenumber="128">
1456
+
1457
+
1458
+ <code class="ruby"></code>
1459
+ </li>
1460
+
1461
+ <li class="covered" data-hits="1" data-linenumber="129">
1462
+ <span class="hits">1</span>
1463
+
1464
+ <code class="ruby"> context &#39;when testing #render_stats&#39; do</code>
1465
+ </li>
1466
+
1467
+ <li class="covered" data-hits="1" data-linenumber="130">
1468
+ <span class="hits">1</span>
1469
+
1470
+ <code class="ruby"> it &#39;returns list&#39; do</code>
1471
+ </li>
1472
+
1473
+ <li class="covered" data-hits="1" data-linenumber="131">
1474
+ <span class="hits">1</span>
1475
+
1476
+ <code class="ruby"> expect(list).to receive(:each_with_index)</code>
1477
+ </li>
1478
+
1479
+ <li class="covered" data-hits="1" data-linenumber="132">
1480
+ <span class="hits">1</span>
1481
+
1482
+ <code class="ruby"> subject.send(:render_stats, list)</code>
1483
+ </li>
1484
+
1485
+ <li class="never" data-hits="" data-linenumber="133">
1486
+
1487
+
1488
+ <code class="ruby"> end</code>
1489
+ </li>
1490
+
1491
+ <li class="never" data-hits="" data-linenumber="134">
1492
+
1493
+
1494
+ <code class="ruby"> end</code>
1495
+ </li>
1496
+
1497
+ <li class="never" data-hits="" data-linenumber="135">
1498
+
1499
+
1500
+ <code class="ruby"></code>
1501
+ </li>
1502
+
1503
+ <li class="covered" data-hits="1" data-linenumber="136">
1504
+ <span class="hits">1</span>
1505
+
1506
+ <code class="ruby"> context &#39;when testing #choice_menu_process&#39; do</code>
1507
+ </li>
1508
+
1509
+ <li class="covered" data-hits="1" data-linenumber="137">
1510
+ <span class="hits">1</span>
1511
+
1512
+ <code class="ruby"> %i[rules stats start].each do |command|</code>
1513
+ </li>
1514
+
1515
+ <li class="covered" data-hits="3" data-linenumber="138">
1516
+ <span class="hits">3</span>
1517
+
1518
+ <code class="ruby"> it &quot;returns ##{command}&quot; do</code>
1519
+ </li>
1520
+
1521
+ <li class="covered" data-hits="3" data-linenumber="139">
1522
+ <span class="hits">3</span>
1523
+
1524
+ <code class="ruby"> expect(subject).to receive(command)</code>
1525
+ </li>
1526
+
1527
+ <li class="covered" data-hits="3" data-linenumber="140">
1528
+ <span class="hits">3</span>
1529
+
1530
+ <code class="ruby"> subject.send(:choice_menu_process, Menu::COMMANDS[command])</code>
1531
+ </li>
1532
+
1533
+ <li class="never" data-hits="" data-linenumber="141">
1534
+
1535
+
1536
+ <code class="ruby"> end</code>
1537
+ </li>
1538
+
1539
+ <li class="never" data-hits="" data-linenumber="142">
1540
+
1541
+
1542
+ <code class="ruby"> end</code>
1543
+ </li>
1544
+
1545
+ <li class="never" data-hits="" data-linenumber="143">
1546
+
1547
+
1548
+ <code class="ruby"></code>
1549
+ </li>
1550
+
1551
+ <li class="covered" data-hits="1" data-linenumber="144">
1552
+ <span class="hits">1</span>
1553
+
1554
+ <code class="ruby"> it &#39;returns #exit_from_game&#39; do</code>
1555
+ </li>
1556
+
1557
+ <li class="covered" data-hits="1" data-linenumber="145">
1558
+ <span class="hits">1</span>
1559
+
1560
+ <code class="ruby"> expect(subject).to receive(:exit_from_game)</code>
1561
+ </li>
1562
+
1563
+ <li class="covered" data-hits="1" data-linenumber="146">
1564
+ <span class="hits">1</span>
1565
+
1566
+ <code class="ruby"> subject.send(:choice_menu_process, Menu::COMMANDS[:exit])</code>
1567
+ </li>
1568
+
1569
+ <li class="never" data-hits="" data-linenumber="147">
1570
+
1571
+
1572
+ <code class="ruby"> end</code>
1573
+ </li>
1574
+
1575
+ <li class="never" data-hits="" data-linenumber="148">
1576
+
1577
+
1578
+ <code class="ruby"></code>
1579
+ </li>
1580
+
1581
+ <li class="covered" data-hits="1" data-linenumber="149">
1582
+ <span class="hits">1</span>
1583
+
1584
+ <code class="ruby"> it &#39;returns #command_error&#39; do</code>
1585
+ </li>
1586
+
1587
+ <li class="covered" data-hits="1" data-linenumber="150">
1588
+ <span class="hits">1</span>
1589
+
1590
+ <code class="ruby"> expect(subject.renderer).to receive(:command_error)</code>
1591
+ </li>
1592
+
1593
+ <li class="covered" data-hits="1" data-linenumber="151">
1594
+ <span class="hits">1</span>
1595
+
1596
+ <code class="ruby"> expect(subject).to receive(:game_menu)</code>
1597
+ </li>
1598
+
1599
+ <li class="covered" data-hits="1" data-linenumber="152">
1600
+ <span class="hits">1</span>
1601
+
1602
+ <code class="ruby"> subject.send(:choice_menu_process, command)</code>
1603
+ </li>
1604
+
1605
+ <li class="never" data-hits="" data-linenumber="153">
1606
+
1607
+
1608
+ <code class="ruby"> end</code>
1609
+ </li>
1610
+
1611
+ <li class="never" data-hits="" data-linenumber="154">
1612
+
1613
+
1614
+ <code class="ruby"> end</code>
1615
+ </li>
1616
+
1617
+ <li class="never" data-hits="" data-linenumber="155">
1618
+
1619
+
1620
+ <code class="ruby"></code>
1621
+ </li>
1622
+
1623
+ <li class="covered" data-hits="1" data-linenumber="156">
1624
+ <span class="hits">1</span>
1625
+
1626
+ <code class="ruby"> context &#39;when testing #exit_from_game method&#39; do</code>
1627
+ </li>
1628
+
1629
+ <li class="covered" data-hits="1" data-linenumber="157">
1630
+ <span class="hits">1</span>
1631
+
1632
+ <code class="ruby"> it &#39;returns message&#39; do</code>
1633
+ </li>
1634
+
1635
+ <li class="covered" data-hits="1" data-linenumber="158">
1636
+ <span class="hits">1</span>
1637
+
1638
+ <code class="ruby"> expect(subject.renderer).to receive(:goodbye_message)</code>
1639
+ </li>
1640
+
1641
+ <li class="covered" data-hits="1" data-linenumber="159">
1642
+ <span class="hits">1</span>
1643
+
1644
+ <code class="ruby"> expect(subject).to receive(:exit)</code>
1645
+ </li>
1646
+
1647
+ <li class="covered" data-hits="1" data-linenumber="160">
1648
+ <span class="hits">1</span>
1649
+
1650
+ <code class="ruby"> subject.send(:exit_from_game)</code>
1651
+ </li>
1652
+
1653
+ <li class="never" data-hits="" data-linenumber="161">
1654
+
1655
+
1656
+ <code class="ruby"> end</code>
1657
+ </li>
1658
+
1659
+ <li class="never" data-hits="" data-linenumber="162">
1660
+
1661
+
1662
+ <code class="ruby"> end</code>
1663
+ </li>
1664
+
1665
+ <li class="never" data-hits="" data-linenumber="163">
1666
+
1667
+
1668
+ <code class="ruby"></code>
1669
+ </li>
1670
+
1671
+ <li class="covered" data-hits="1" data-linenumber="164">
1672
+ <span class="hits">1</span>
1673
+
1674
+ <code class="ruby"> context &#39;when testing #hint_process method&#39; do</code>
1675
+ </li>
1676
+
1677
+ <li class="covered" data-hits="1" data-linenumber="165">
1678
+ <span class="hits">1</span>
1679
+
1680
+ <code class="ruby"> it &#39;returns no_hints_message?&#39; do</code>
1681
+ </li>
1682
+
1683
+ <li class="covered" data-hits="1" data-linenumber="166">
1684
+ <span class="hits">1</span>
1685
+
1686
+ <code class="ruby"> subject.game.instance_variable_set(:@hints, [])</code>
1687
+ </li>
1688
+
1689
+ <li class="covered" data-hits="1" data-linenumber="167">
1690
+ <span class="hits">1</span>
1691
+
1692
+ <code class="ruby"> expect(subject.renderer).to receive(:no_hints_message?)</code>
1693
+ </li>
1694
+
1695
+ <li class="covered" data-hits="1" data-linenumber="168">
1696
+ <span class="hits">1</span>
1697
+
1698
+ <code class="ruby"> subject.send(:hint_process)</code>
1699
+ </li>
1700
+
1701
+ <li class="never" data-hits="" data-linenumber="169">
1702
+
1703
+
1704
+ <code class="ruby"> end</code>
1705
+ </li>
1706
+
1707
+ <li class="never" data-hits="" data-linenumber="170">
1708
+
1709
+
1710
+ <code class="ruby"> end</code>
1711
+ </li>
1712
+
1713
+ <li class="never" data-hits="" data-linenumber="171">
1714
+
1715
+
1716
+ <code class="ruby"></code>
1717
+ </li>
1718
+
1719
+ <li class="covered" data-hits="1" data-linenumber="172">
1720
+ <span class="hits">1</span>
1721
+
1722
+ <code class="ruby"> context &#39;when testing #generate_game method&#39; do</code>
1723
+ </li>
1724
+
1725
+ <li class="covered" data-hits="1" data-linenumber="173">
1726
+ <span class="hits">1</span>
1727
+
1728
+ <code class="ruby"> it do</code>
1729
+ </li>
1730
+
1731
+ <li class="covered" data-hits="1" data-linenumber="174">
1732
+ <span class="hits">1</span>
1733
+
1734
+ <code class="ruby"> difficulty = Game::DIFFICULTIES[:easy]</code>
1735
+ </li>
1736
+
1737
+ <li class="covered" data-hits="1" data-linenumber="175">
1738
+ <span class="hits">1</span>
1739
+
1740
+ <code class="ruby"> expect(subject.game).to receive(:generate).with(difficulty)</code>
1741
+ </li>
1742
+
1743
+ <li class="covered" data-hits="1" data-linenumber="176">
1744
+ <span class="hits">1</span>
1745
+
1746
+ <code class="ruby"> expect(subject.renderer).to receive(:message).with(:difficulty,</code>
1747
+ </li>
1748
+
1749
+ <li class="never" data-hits="" data-linenumber="177">
1750
+
1751
+
1752
+ <code class="ruby"> hints: difficulty[:hints],</code>
1753
+ </li>
1754
+
1755
+ <li class="never" data-hits="" data-linenumber="178">
1756
+
1757
+
1758
+ <code class="ruby"> attempts: difficulty[:attempts])</code>
1759
+ </li>
1760
+
1761
+ <li class="covered" data-hits="1" data-linenumber="179">
1762
+ <span class="hits">1</span>
1763
+
1764
+ <code class="ruby"> subject.send(:generate_game, difficulty)</code>
1765
+ </li>
1766
+
1767
+ <li class="never" data-hits="" data-linenumber="180">
1768
+
1769
+
1770
+ <code class="ruby"> end</code>
1771
+ </li>
1772
+
1773
+ <li class="never" data-hits="" data-linenumber="181">
1774
+
1775
+
1776
+ <code class="ruby"> end</code>
1777
+ </li>
1778
+
1779
+ <li class="never" data-hits="" data-linenumber="182">
1780
+
1781
+
1782
+ <code class="ruby"></code>
1783
+ </li>
1784
+
1785
+ <li class="covered" data-hits="1" data-linenumber="183">
1786
+ <span class="hits">1</span>
1787
+
1788
+ <code class="ruby"> context &#39;when testing #handle_lose method&#39; do</code>
1789
+ </li>
1790
+
1791
+ <li class="covered" data-hits="1" data-linenumber="184">
1792
+ <span class="hits">1</span>
1793
+
1794
+ <code class="ruby"> it do</code>
1795
+ </li>
1796
+
1797
+ <li class="covered" data-hits="1" data-linenumber="185">
1798
+ <span class="hits">1</span>
1799
+
1800
+ <code class="ruby"> expect(subject.renderer).to receive(:lost_game_message).with(subject.game.code)</code>
1801
+ </li>
1802
+
1803
+ <li class="covered" data-hits="1" data-linenumber="186">
1804
+ <span class="hits">1</span>
1805
+
1806
+ <code class="ruby"> expect(subject).to receive(:game_menu)</code>
1807
+ </li>
1808
+
1809
+ <li class="covered" data-hits="1" data-linenumber="187">
1810
+ <span class="hits">1</span>
1811
+
1812
+ <code class="ruby"> subject.send(:handle_lose)</code>
1813
+ </li>
1814
+
1815
+ <li class="never" data-hits="" data-linenumber="188">
1816
+
1817
+
1818
+ <code class="ruby"> end</code>
1819
+ </li>
1820
+
1821
+ <li class="never" data-hits="" data-linenumber="189">
1822
+
1823
+
1824
+ <code class="ruby"> end</code>
1825
+ </li>
1826
+
1827
+ <li class="never" data-hits="" data-linenumber="190">
1828
+
1829
+
1830
+ <code class="ruby"></code>
1831
+ </li>
1832
+
1833
+ <li class="covered" data-hits="1" data-linenumber="191">
1834
+ <span class="hits">1</span>
1835
+
1836
+ <code class="ruby"> context &#39;when testing #handle_win method&#39; do</code>
1837
+ </li>
1838
+
1839
+ <li class="covered" data-hits="1" data-linenumber="192">
1840
+ <span class="hits">1</span>
1841
+
1842
+ <code class="ruby"> it do</code>
1843
+ </li>
1844
+
1845
+ <li class="covered" data-hits="1" data-linenumber="193">
1846
+ <span class="hits">1</span>
1847
+
1848
+ <code class="ruby"> expect(subject.renderer).to receive(:win_game_message)</code>
1849
+ </li>
1850
+
1851
+ <li class="covered" data-hits="1" data-linenumber="194">
1852
+ <span class="hits">1</span>
1853
+
1854
+ <code class="ruby"> expect(subject).to receive(:save_result)</code>
1855
+ </li>
1856
+
1857
+ <li class="covered" data-hits="1" data-linenumber="195">
1858
+ <span class="hits">1</span>
1859
+
1860
+ <code class="ruby"> expect(subject).to receive(:game_menu)</code>
1861
+ </li>
1862
+
1863
+ <li class="covered" data-hits="1" data-linenumber="196">
1864
+ <span class="hits">1</span>
1865
+
1866
+ <code class="ruby"> subject.send(:handle_win)</code>
1867
+ </li>
1868
+
1869
+ <li class="never" data-hits="" data-linenumber="197">
1870
+
1871
+
1872
+ <code class="ruby"> end</code>
1873
+ </li>
1874
+
1875
+ <li class="never" data-hits="" data-linenumber="198">
1876
+
1877
+
1878
+ <code class="ruby"> end</code>
1879
+ </li>
1880
+
1881
+ <li class="never" data-hits="" data-linenumber="199">
1882
+
1883
+
1884
+ <code class="ruby"></code>
1885
+ </li>
1886
+
1887
+ <li class="covered" data-hits="1" data-linenumber="200">
1888
+ <span class="hits">1</span>
1889
+
1890
+ <code class="ruby"> context &#39;when testing #game_process method&#39; do</code>
1891
+ </li>
1892
+
1893
+ <li class="covered" data-hits="1" data-linenumber="201">
1894
+ <span class="hits">1</span>
1895
+
1896
+ <code class="ruby"> it &#39;returns #handle_win&#39; do</code>
1897
+ </li>
1898
+
1899
+ <li class="covered" data-hits="1" data-linenumber="202">
1900
+ <span class="hits">1</span>
1901
+
1902
+ <code class="ruby"> subject.game.instance_variable_set(:@attempts, Game::DIFFICULTIES[:easy][:attempts])</code>
1903
+ </li>
1904
+
1905
+ <li class="covered" data-hits="2" data-linenumber="203">
1906
+ <span class="hits">2</span>
1907
+
1908
+ <code class="ruby"> expect(subject).to receive(:ask) { command }</code>
1909
+ </li>
1910
+
1911
+ <li class="covered" data-hits="2" data-linenumber="204">
1912
+ <span class="hits">2</span>
1913
+
1914
+ <code class="ruby"> expect(subject.game).to receive(:win?).with(command) { true }</code>
1915
+ </li>
1916
+
1917
+ <li class="covered" data-hits="1" data-linenumber="205">
1918
+ <span class="hits">1</span>
1919
+
1920
+ <code class="ruby"> expect(subject).to receive(:handle_win)</code>
1921
+ </li>
1922
+
1923
+ <li class="covered" data-hits="1" data-linenumber="206">
1924
+ <span class="hits">1</span>
1925
+
1926
+ <code class="ruby"> subject.send(:game_process)</code>
1927
+ </li>
1928
+
1929
+ <li class="never" data-hits="" data-linenumber="207">
1930
+
1931
+
1932
+ <code class="ruby"> end</code>
1933
+ </li>
1934
+
1935
+ <li class="covered" data-hits="1" data-linenumber="208">
1936
+ <span class="hits">1</span>
1937
+
1938
+ <code class="ruby"> it &#39;retuns #handle_lose&#39; do</code>
1939
+ </li>
1940
+
1941
+ <li class="covered" data-hits="1" data-linenumber="209">
1942
+ <span class="hits">1</span>
1943
+
1944
+ <code class="ruby"> subject.game.instance_variable_set(:@attempts, 0)</code>
1945
+ </li>
1946
+
1947
+ <li class="covered" data-hits="1" data-linenumber="210">
1948
+ <span class="hits">1</span>
1949
+
1950
+ <code class="ruby"> expect(subject).to receive(:handle_lose)</code>
1951
+ </li>
1952
+
1953
+ <li class="covered" data-hits="1" data-linenumber="211">
1954
+ <span class="hits">1</span>
1955
+
1956
+ <code class="ruby"> subject.send(:game_process)</code>
1957
+ </li>
1958
+
1959
+ <li class="never" data-hits="" data-linenumber="212">
1960
+
1961
+
1962
+ <code class="ruby"> end</code>
1963
+ </li>
1964
+
1965
+ <li class="never" data-hits="" data-linenumber="213">
1966
+
1967
+
1968
+ <code class="ruby"> end</code>
1969
+ </li>
1970
+
1971
+ <li class="never" data-hits="" data-linenumber="214">
1972
+
1973
+
1974
+ <code class="ruby"></code>
1975
+ </li>
1976
+
1977
+ <li class="covered" data-hits="1" data-linenumber="215">
1978
+ <span class="hits">1</span>
1979
+
1980
+ <code class="ruby"> context &#39;when testing #ask method&#39; do</code>
1981
+ </li>
1982
+
1983
+ <li class="covered" data-hits="1" data-linenumber="216">
1984
+ <span class="hits">1</span>
1985
+
1986
+ <code class="ruby"> it &#39;retuns msg&#39; do</code>
1987
+ </li>
1988
+
1989
+ <li class="covered" data-hits="1" data-linenumber="217">
1990
+ <span class="hits">1</span>
1991
+
1992
+ <code class="ruby"> phrase_key = :rules</code>
1993
+ </li>
1994
+
1995
+ <li class="covered" data-hits="1" data-linenumber="218">
1996
+ <span class="hits">1</span>
1997
+
1998
+ <code class="ruby"> expect(subject.renderer).to receive(:message).with(phrase_key, {})</code>
1999
+ </li>
2000
+
2001
+ <li class="covered" data-hits="1" data-linenumber="219">
2002
+ <span class="hits">1</span>
2003
+
2004
+ <code class="ruby"> allow(subject).to receive(:gets).and_return(&#39;&#39;)</code>
2005
+ </li>
2006
+
2007
+ <li class="covered" data-hits="1" data-linenumber="220">
2008
+ <span class="hits">1</span>
2009
+
2010
+ <code class="ruby"> subject.send(:ask, phrase_key)</code>
2011
+ </li>
2012
+
2013
+ <li class="never" data-hits="" data-linenumber="221">
2014
+
2015
+
2016
+ <code class="ruby"> end</code>
2017
+ </li>
2018
+
2019
+ <li class="never" data-hits="" data-linenumber="222">
2020
+
2021
+
2022
+ <code class="ruby"> end</code>
2023
+ </li>
2024
+
2025
+ <li class="never" data-hits="" data-linenumber="223">
2026
+
2027
+
2028
+ <code class="ruby">end</code>
2029
+ </li>
2030
+
2031
+ </ol>
2032
+ </pre>
2033
+ </div>
2034
+
2035
+
2036
+ <div class="source_table" id="0a268fbdd9fd3ef922dc24a6ec139387a21717cb">
2037
+ <div class="header">
2038
+ <h3>spec/codebreaker/processor_spec.rb</h3>
2039
+ <h4><span class="green">100.0 %</span> covered</h4>
2040
+ <div>
2041
+ <b>6</b> relevant lines.
2042
+ <span class="green"><b>6</b> lines covered</span> and
2043
+ <span class="red"><b>0</b> lines missed.</span>
2044
+ </div>
2045
+ </div>
2046
+
2047
+ <pre>
2048
+ <ol>
2049
+
2050
+ <li class="never" data-hits="" data-linenumber="1">
2051
+
2052
+
2053
+ <code class="ruby"># frozen_string_literal: true</code>
2054
+ </li>
2055
+
2056
+ <li class="never" data-hits="" data-linenumber="2">
2057
+
2058
+
2059
+ <code class="ruby"></code>
2060
+ </li>
2061
+
2062
+ <li class="covered" data-hits="1" data-linenumber="3">
2063
+ <span class="hits">1</span>
2064
+
2065
+ <code class="ruby">require &#39;spec_helper&#39;</code>
2066
+ </li>
2067
+
2068
+ <li class="never" data-hits="" data-linenumber="4">
2069
+
2070
+
2071
+ <code class="ruby"></code>
2072
+ </li>
2073
+
2074
+ <li class="covered" data-hits="1" data-linenumber="5">
2075
+ <span class="hits">1</span>
2076
+
2077
+ <code class="ruby">RSpec.describe Processor do</code>
2078
+ </li>
2079
+
2080
+ <li class="covered" data-hits="1" data-linenumber="6">
2081
+ <span class="hits">1</span>
2082
+
2083
+ <code class="ruby"> context &#39;when testing #secret_code_proc method&#39; do</code>
2084
+ </li>
2085
+
2086
+ <li class="never" data-hits="" data-linenumber="7">
2087
+
2088
+
2089
+ <code class="ruby"> [</code>
2090
+ </li>
2091
+
2092
+ <li class="never" data-hits="" data-linenumber="8">
2093
+
2094
+
2095
+ <code class="ruby"> [&#39;1234&#39;, &#39;1234&#39;, &#39;++++&#39;], [&#39;1234&#39;, &#39;4321&#39;, &#39;----&#39;], [&#39;1231&#39;, &#39;1234&#39;, &#39;+++&#39;],</code>
2096
+ </li>
2097
+
2098
+ <li class="never" data-hits="" data-linenumber="9">
2099
+
2100
+
2101
+ <code class="ruby"> [&#39;1324&#39;, &#39;1234&#39;, &#39;++--&#39;], [&#39;1111&#39;, &#39;1321&#39;, &#39;++&#39;], [&#39;4441&#39;, &#39;2233&#39;, &#39;&#39;],</code>
2102
+ </li>
2103
+
2104
+ <li class="never" data-hits="" data-linenumber="10">
2105
+
2106
+
2107
+ <code class="ruby"> [&#39;1234&#39;, &#39;1111&#39;, &#39;+&#39;], [&#39;2552&#39;, &#39;1221&#39;, &#39;--&#39;], [&#39;1234&#39;, &#39;2332&#39;, &#39;+-&#39;],</code>
2108
+ </li>
2109
+
2110
+ <li class="never" data-hits="" data-linenumber="11">
2111
+
2112
+
2113
+ <code class="ruby"> [&#39;1234&#39;, &#39;5561&#39;, &#39;-&#39;], [&#39;1234&#39;, &#39;1342&#39;, &#39;+---&#39;], [&#39;3211&#39;, &#39;1561&#39;, &#39;+-&#39;],</code>
2114
+ </li>
2115
+
2116
+ <li class="never" data-hits="" data-linenumber="12">
2117
+
2118
+
2119
+ <code class="ruby"> [&#39;1134&#39;, &#39;1155&#39;, &#39;++&#39;], [&#39;1134&#39;, &#39;5115&#39;, &#39;+-&#39;], [&#39;1134&#39;, &#39;5511&#39;, &#39;--&#39;],</code>
2120
+ </li>
2121
+
2122
+ <li class="never" data-hits="" data-linenumber="13">
2123
+
2124
+
2125
+ <code class="ruby"> [&#39;1134&#39;, &#39;1115&#39;, &#39;++&#39;], [&#39;1134&#39;, &#39;5111&#39;, &#39;+-&#39;], [&#39;1234&#39;, &#39;1555&#39;, &#39;+&#39;],</code>
2126
+ </li>
2127
+
2128
+ <li class="never" data-hits="" data-linenumber="14">
2129
+
2130
+
2131
+ <code class="ruby"> [&#39;1234&#39;, &#39;2555&#39;, &#39;-&#39;], [&#39;1234&#39;, &#39;5224&#39;, &#39;++&#39;], [&#39;1234&#39;, &#39;5154&#39;, &#39;+-&#39;],</code>
2132
+ </li>
2133
+
2134
+ <li class="never" data-hits="" data-linenumber="15">
2135
+
2136
+
2137
+ <code class="ruby"> [&#39;1234&#39;, &#39;2545&#39;, &#39;--&#39;], [&#39;1234&#39;, &#39;5234&#39;, &#39;+++&#39;], [&#39;1234&#39;, &#39;5134&#39;, &#39;++-&#39;],</code>
2138
+ </li>
2139
+
2140
+ <li class="never" data-hits="" data-linenumber="16">
2141
+
2142
+
2143
+ <code class="ruby"> [&#39;1234&#39;, &#39;5124&#39;, &#39;+--&#39;], [&#39;1234&#39;, &#39;5115&#39;, &#39;-&#39;], [&#39;1666&#39;, &#39;6661&#39;, &#39;++--&#39;],</code>
2144
+ </li>
2145
+
2146
+ <li class="never" data-hits="" data-linenumber="17">
2147
+
2148
+
2149
+ <code class="ruby"> [&#39;1234&#39;, &#39;1234&#39;, &#39;++++&#39;], [&#39;5143&#39;, &#39;4153&#39;, &#39;++--&#39;], [&#39;5523&#39;, &#39;5155&#39;, &#39;+-&#39;],</code>
2150
+ </li>
2151
+
2152
+ <li class="never" data-hits="" data-linenumber="18">
2153
+
2154
+
2155
+ <code class="ruby"> [&#39;6235&#39;, &#39;2365&#39;, &#39;+---&#39;], [&#39;1234&#39;, &#39;4321&#39;, &#39;----&#39;], [&#39;1234&#39;, &#39;1235&#39;, &#39;+++&#39;],</code>
2156
+ </li>
2157
+
2158
+ <li class="never" data-hits="" data-linenumber="19">
2159
+
2160
+
2161
+ <code class="ruby"> [&#39;1234&#39;, &#39;6254&#39;, &#39;++&#39;], [&#39;1234&#39;, &#39;5635&#39;, &#39;+&#39;], [&#39;1234&#39;, &#39;4326&#39;, &#39;---&#39;],</code>
2162
+ </li>
2163
+
2164
+ <li class="never" data-hits="" data-linenumber="20">
2165
+
2166
+
2167
+ <code class="ruby"> [&#39;1234&#39;, &#39;3525&#39;, &#39;--&#39;], [&#39;1234&#39;, &#39;2552&#39;, &#39;-&#39;], [&#39;1234&#39;, &#39;4255&#39;, &#39;+-&#39;],</code>
2168
+ </li>
2169
+
2170
+ <li class="never" data-hits="" data-linenumber="21">
2171
+
2172
+
2173
+ <code class="ruby"> [&#39;1234&#39;, &#39;1524&#39;, &#39;++-&#39;], [&#39;1234&#39;, &#39;5431&#39;, &#39;+--&#39;], [&#39;1234&#39;, &#39;6666&#39;, &#39;&#39;],</code>
2174
+ </li>
2175
+
2176
+ <li class="never" data-hits="" data-linenumber="22">
2177
+
2178
+
2179
+ <code class="ruby"> [&#39;1115&#39;, &#39;1231&#39;, &#39;+-&#39;], [&#39;1231&#39;, &#39;1111&#39;, &#39;++&#39;],</code>
2180
+ </li>
2181
+
2182
+ <li class="never" data-hits="" data-linenumber="23">
2183
+
2184
+
2185
+ <code class="ruby"> [&#39;1111&#39;, &#39;1111&#39;, &#39;++++&#39;], [&#39;1111&#39;, &#39;1115&#39;, &#39;+++&#39;], [&#39;1111&#39;, &#39;1155&#39;, &#39;++&#39;],</code>
2186
+ </li>
2187
+
2188
+ <li class="never" data-hits="" data-linenumber="24">
2189
+
2190
+
2191
+ <code class="ruby"> [&#39;1111&#39;, &#39;1555&#39;, &#39;+&#39;], [&#39;1111&#39;, &#39;5555&#39;, &#39;&#39;], [&#39;1221&#39;, &#39;2112&#39;, &#39;----&#39;],</code>
2192
+ </li>
2193
+
2194
+ <li class="never" data-hits="" data-linenumber="25">
2195
+
2196
+
2197
+ <code class="ruby"> [&#39;1221&#39;, &#39;2114&#39;, &#39;---&#39;], [&#39;1221&#39;, &#39;2155&#39;, &#39;--&#39;], [&#39;1221&#39;, &#39;2555&#39;, &#39;-&#39;],</code>
2198
+ </li>
2199
+
2200
+ <li class="never" data-hits="" data-linenumber="26">
2201
+
2202
+
2203
+ <code class="ruby"> [&#39;2245&#39;, &#39;2254&#39;, &#39;++--&#39;], [&#39;2245&#39;, &#39;2253&#39;, &#39;++-&#39;], [&#39;2245&#39;, &#39;2435&#39;, &#39;++-&#39;],</code>
2204
+ </li>
2205
+
2206
+ <li class="never" data-hits="" data-linenumber="27">
2207
+
2208
+
2209
+ <code class="ruby"> [&#39;2245&#39;, &#39;2533&#39;, &#39;+-&#39;], [&#39;1234&#39;, &#39;4321&#39;, &#39;----&#39;], [&#39;3331&#39;, &#39;3332&#39;, &#39;+++&#39;],</code>
2210
+ </li>
2211
+
2212
+ <li class="never" data-hits="" data-linenumber="28">
2213
+
2214
+
2215
+ <code class="ruby"> [&#39;1113&#39;, &#39;1112&#39;, &#39;+++&#39;], [&#39;1312&#39;, &#39;1212&#39;, &#39;+++&#39;], [&#39;1234&#39;, &#39;1266&#39;, &#39;++&#39;],</code>
2216
+ </li>
2217
+
2218
+ <li class="never" data-hits="" data-linenumber="29">
2219
+
2220
+
2221
+ <code class="ruby"> [&#39;1234&#39;, &#39;6634&#39;, &#39;++&#39;], [&#39;1234&#39;, &#39;1654&#39;, &#39;++&#39;], [&#39;1234&#39;, &#39;1555&#39;, &#39;+&#39;],</code>
2222
+ </li>
2223
+
2224
+ <li class="never" data-hits="" data-linenumber="30">
2225
+
2226
+
2227
+ <code class="ruby"> [&#39;1234&#39;, &#39;4321&#39;, &#39;----&#39;], [&#39;5432&#39;, &#39;2345&#39;, &#39;----&#39;], [&#39;1234&#39;, &#39;2143&#39;, &#39;----&#39;],</code>
2228
+ </li>
2229
+
2230
+ <li class="never" data-hits="" data-linenumber="31">
2231
+
2232
+
2233
+ <code class="ruby"> [&#39;1221&#39;, &#39;2112&#39;, &#39;----&#39;], [&#39;5432&#39;, &#39;2541&#39;, &#39;---&#39;], [&#39;1145&#39;, &#39;6514&#39;, &#39;---&#39;],</code>
2234
+ </li>
2235
+
2236
+ <li class="never" data-hits="" data-linenumber="32">
2237
+
2238
+
2239
+ <code class="ruby"> [&#39;1244&#39;, &#39;4156&#39;, &#39;--&#39;], [&#39;1221&#39;, &#39;2332&#39;, &#39;--&#39;], [&#39;2244&#39;, &#39;4526&#39;, &#39;--&#39;],</code>
2240
+ </li>
2241
+
2242
+ <li class="never" data-hits="" data-linenumber="33">
2243
+
2244
+
2245
+ <code class="ruby"> [&#39;5556&#39;, &#39;1115&#39;, &#39;-&#39;], [&#39;1234&#39;, &#39;6653&#39;, &#39;-&#39;], [&#39;3331&#39;, &#39;1253&#39;, &#39;--&#39;],</code>
2246
+ </li>
2247
+
2248
+ <li class="never" data-hits="" data-linenumber="34">
2249
+
2250
+
2251
+ <code class="ruby"> [&#39;2345&#39;, &#39;4542&#39;, &#39;+--&#39;], [&#39;1243&#39;, &#39;1234&#39;, &#39;++--&#39;], [&#39;4111&#39;, &#39;4444&#39;, &#39;+&#39;],</code>
2252
+ </li>
2253
+
2254
+ <li class="never" data-hits="" data-linenumber="35">
2255
+
2256
+
2257
+ <code class="ruby"> [&#39;1532&#39;, &#39;5132&#39;, &#39;++--&#39;], [&#39;3444&#39;, &#39;4334&#39;, &#39;+--&#39;], [&#39;1113&#39;, &#39;2155&#39;, &#39;+&#39;],</code>
2258
+ </li>
2259
+
2260
+ <li class="never" data-hits="" data-linenumber="36">
2261
+
2262
+
2263
+ <code class="ruby"> [&#39;2245&#39;, &#39;4125&#39;, &#39;+--&#39;], [&#39;4611&#39;, &#39;1466&#39;, &#39;---&#39;], [&#39;5451&#39;, &#39;4445&#39;, &#39;+-&#39;],</code>
2264
+ </li>
2265
+
2266
+ <li class="never" data-hits="" data-linenumber="37">
2267
+
2268
+
2269
+ <code class="ruby"> [&#39;6541&#39;, &#39;6541&#39;, &#39;++++&#39;], [&#39;1234&#39;, &#39;5612&#39;, &#39;--&#39;], [&#39;5566&#39;, &#39;5600&#39;, &#39;+-&#39;],</code>
2270
+ </li>
2271
+
2272
+ <li class="never" data-hits="" data-linenumber="38">
2273
+
2274
+
2275
+ <code class="ruby"> [&#39;6235&#39;, &#39;2365&#39;, &#39;+---&#39;], [&#39;1234&#39;, &#39;4321&#39;, &#39;----&#39;], [&#39;1234&#39;, &#39;1235&#39;, &#39;+++&#39;],</code>
2276
+ </li>
2277
+
2278
+ <li class="never" data-hits="" data-linenumber="39">
2279
+
2280
+
2281
+ <code class="ruby"> [&#39;1234&#39;, &#39;6254&#39;, &#39;++&#39;], [&#39;1234&#39;, &#39;5635&#39;, &#39;+&#39;], [&#39;1234&#39;, &#39;4326&#39;, &#39;---&#39;],</code>
2282
+ </li>
2283
+
2284
+ <li class="never" data-hits="" data-linenumber="40">
2285
+
2286
+
2287
+ <code class="ruby"> [&#39;1234&#39;, &#39;3525&#39;, &#39;--&#39;], [&#39;1234&#39;, &#39;2552&#39;, &#39;-&#39;], [&#39;1234&#39;, &#39;4255&#39;, &#39;+-&#39;],</code>
2288
+ </li>
2289
+
2290
+ <li class="never" data-hits="" data-linenumber="41">
2291
+
2292
+
2293
+ <code class="ruby"> [&#39;1234&#39;, &#39;1524&#39;, &#39;++-&#39;], [&#39;1234&#39;, &#39;5431&#39;, &#39;+--&#39;], [&#39;1234&#39;, &#39;6666&#39;, &#39;&#39;],</code>
2294
+ </li>
2295
+
2296
+ <li class="never" data-hits="" data-linenumber="42">
2297
+
2298
+
2299
+ <code class="ruby"> [&#39;1115&#39;, &#39;1231&#39;, &#39;+-&#39;], [&#39;1221&#39;, &#39;2112&#39;, &#39;----&#39;], [&#39;1231&#39;, &#39;1111&#39;, &#39;++&#39;]</code>
2300
+ </li>
2301
+
2302
+ <li class="covered" data-hits="1" data-linenumber="43">
2303
+ <span class="hits">1</span>
2304
+
2305
+ <code class="ruby"> ].each do |value|</code>
2306
+ </li>
2307
+
2308
+ <li class="covered" data-hits="104" data-linenumber="44">
2309
+ <span class="hits">104</span>
2310
+
2311
+ <code class="ruby"> it &quot;tests that #{value.first} equals to #{value.last}&quot; do</code>
2312
+ </li>
2313
+
2314
+ <li class="covered" data-hits="104" data-linenumber="45">
2315
+ <span class="hits">104</span>
2316
+
2317
+ <code class="ruby"> expect(subject.secret_code_proc(value[1], value[0])).to eq value.last</code>
2318
+ </li>
2319
+
2320
+ <li class="never" data-hits="" data-linenumber="46">
2321
+
2322
+
2323
+ <code class="ruby"> end</code>
2324
+ </li>
2325
+
2326
+ <li class="never" data-hits="" data-linenumber="47">
2327
+
2328
+
2329
+ <code class="ruby"> end</code>
2330
+ </li>
2331
+
2332
+ <li class="never" data-hits="" data-linenumber="48">
2333
+
2334
+
2335
+ <code class="ruby"> end</code>
2336
+ </li>
2337
+
2338
+ <li class="never" data-hits="" data-linenumber="49">
2339
+
2340
+
2341
+ <code class="ruby">end</code>
2342
+ </li>
2343
+
2344
+ </ol>
2345
+ </pre>
2346
+ </div>
2347
+
2348
+
2349
+ <div class="source_table" id="b6277e870864262390df16028b53d663bd25224a">
2350
+ <div class="header">
2351
+ <h3>spec/codebreaker/renderer_spec.rb</h3>
2352
+ <h4><span class="green">100.0 %</span> covered</h4>
2353
+ <div>
2354
+ <b>64</b> relevant lines.
2355
+ <span class="green"><b>64</b> lines covered</span> and
2356
+ <span class="red"><b>0</b> lines missed.</span>
2357
+ </div>
2358
+ </div>
2359
+
2360
+ <pre>
2361
+ <ol>
2362
+
2363
+ <li class="never" data-hits="" data-linenumber="1">
2364
+
2365
+
2366
+ <code class="ruby"># frozen_string_literal: true</code>
2367
+ </li>
2368
+
2369
+ <li class="never" data-hits="" data-linenumber="2">
2370
+
2371
+
2372
+ <code class="ruby"></code>
2373
+ </li>
2374
+
2375
+ <li class="covered" data-hits="1" data-linenumber="3">
2376
+ <span class="hits">1</span>
2377
+
2378
+ <code class="ruby">require &#39;spec_helper&#39;</code>
2379
+ </li>
2380
+
2381
+ <li class="never" data-hits="" data-linenumber="4">
2382
+
2383
+
2384
+ <code class="ruby"></code>
2385
+ </li>
2386
+
2387
+ <li class="covered" data-hits="1" data-linenumber="5">
2388
+ <span class="hits">1</span>
2389
+
2390
+ <code class="ruby">RSpec.describe Renderer do</code>
2391
+ </li>
2392
+
2393
+ <li class="covered" data-hits="3" data-linenumber="6">
2394
+ <span class="hits">3</span>
2395
+
2396
+ <code class="ruby"> let(:code) { &#39;1111&#39; }</code>
2397
+ </li>
2398
+
2399
+ <li class="never" data-hits="" data-linenumber="7">
2400
+
2401
+
2402
+ <code class="ruby"></code>
2403
+ </li>
2404
+
2405
+ <li class="covered" data-hits="1" data-linenumber="8">
2406
+ <span class="hits">1</span>
2407
+
2408
+ <code class="ruby"> context &#39;when #message method&#39; do</code>
2409
+ </li>
2410
+
2411
+ <li class="covered" data-hits="1" data-linenumber="9">
2412
+ <span class="hits">1</span>
2413
+
2414
+ <code class="ruby"> it &#39;return puts I18n&#39; do</code>
2415
+ </li>
2416
+
2417
+ <li class="covered" data-hits="1" data-linenumber="10">
2418
+ <span class="hits">1</span>
2419
+
2420
+ <code class="ruby"> msg = :start_message</code>
2421
+ </li>
2422
+
2423
+ <li class="covered" data-hits="1" data-linenumber="11">
2424
+ <span class="hits">1</span>
2425
+
2426
+ <code class="ruby"> expect(I18n).to receive(:t).with(msg, {})</code>
2427
+ </li>
2428
+
2429
+ <li class="covered" data-hits="1" data-linenumber="12">
2430
+ <span class="hits">1</span>
2431
+
2432
+ <code class="ruby"> subject.message(msg)</code>
2433
+ </li>
2434
+
2435
+ <li class="never" data-hits="" data-linenumber="13">
2436
+
2437
+
2438
+ <code class="ruby"> end</code>
2439
+ </li>
2440
+
2441
+ <li class="never" data-hits="" data-linenumber="14">
2442
+
2443
+
2444
+ <code class="ruby"> end</code>
2445
+ </li>
2446
+
2447
+ <li class="never" data-hits="" data-linenumber="15">
2448
+
2449
+
2450
+ <code class="ruby"></code>
2451
+ </li>
2452
+
2453
+ <li class="covered" data-hits="1" data-linenumber="16">
2454
+ <span class="hits">1</span>
2455
+
2456
+ <code class="ruby"> context &#39;when #start_message method&#39; do</code>
2457
+ </li>
2458
+
2459
+ <li class="covered" data-hits="1" data-linenumber="17">
2460
+ <span class="hits">1</span>
2461
+
2462
+ <code class="ruby"> it &#39;return start_message&#39; do</code>
2463
+ </li>
2464
+
2465
+ <li class="covered" data-hits="1" data-linenumber="18">
2466
+ <span class="hits">1</span>
2467
+
2468
+ <code class="ruby"> expect(subject).to receive(:message).with(:start_message)</code>
2469
+ </li>
2470
+
2471
+ <li class="covered" data-hits="1" data-linenumber="19">
2472
+ <span class="hits">1</span>
2473
+
2474
+ <code class="ruby"> subject.start_message</code>
2475
+ </li>
2476
+
2477
+ <li class="never" data-hits="" data-linenumber="20">
2478
+
2479
+
2480
+ <code class="ruby"> end</code>
2481
+ </li>
2482
+
2483
+ <li class="never" data-hits="" data-linenumber="21">
2484
+
2485
+
2486
+ <code class="ruby"> end</code>
2487
+ </li>
2488
+
2489
+ <li class="never" data-hits="" data-linenumber="22">
2490
+
2491
+
2492
+ <code class="ruby"></code>
2493
+ </li>
2494
+
2495
+ <li class="covered" data-hits="1" data-linenumber="23">
2496
+ <span class="hits">1</span>
2497
+
2498
+ <code class="ruby"> context &#39;when #rules method&#39; do</code>
2499
+ </li>
2500
+
2501
+ <li class="covered" data-hits="1" data-linenumber="24">
2502
+ <span class="hits">1</span>
2503
+
2504
+ <code class="ruby"> it &#39;return rules&#39; do</code>
2505
+ </li>
2506
+
2507
+ <li class="covered" data-hits="1" data-linenumber="25">
2508
+ <span class="hits">1</span>
2509
+
2510
+ <code class="ruby"> expect(subject).to receive(:message).with(:rules)</code>
2511
+ </li>
2512
+
2513
+ <li class="covered" data-hits="1" data-linenumber="26">
2514
+ <span class="hits">1</span>
2515
+
2516
+ <code class="ruby"> subject.rules</code>
2517
+ </li>
2518
+
2519
+ <li class="never" data-hits="" data-linenumber="27">
2520
+
2521
+
2522
+ <code class="ruby"> end</code>
2523
+ </li>
2524
+
2525
+ <li class="never" data-hits="" data-linenumber="28">
2526
+
2527
+
2528
+ <code class="ruby"> end</code>
2529
+ </li>
2530
+
2531
+ <li class="never" data-hits="" data-linenumber="29">
2532
+
2533
+
2534
+ <code class="ruby"></code>
2535
+ </li>
2536
+
2537
+ <li class="covered" data-hits="1" data-linenumber="30">
2538
+ <span class="hits">1</span>
2539
+
2540
+ <code class="ruby"> context &#39;when #goodbye_message method&#39; do</code>
2541
+ </li>
2542
+
2543
+ <li class="covered" data-hits="1" data-linenumber="31">
2544
+ <span class="hits">1</span>
2545
+
2546
+ <code class="ruby"> it &#39;return goodbye_message&#39; do</code>
2547
+ </li>
2548
+
2549
+ <li class="covered" data-hits="1" data-linenumber="32">
2550
+ <span class="hits">1</span>
2551
+
2552
+ <code class="ruby"> expect(subject).to receive(:message).with(:goodbye_message)</code>
2553
+ </li>
2554
+
2555
+ <li class="covered" data-hits="1" data-linenumber="33">
2556
+ <span class="hits">1</span>
2557
+
2558
+ <code class="ruby"> subject.goodbye_message</code>
2559
+ </li>
2560
+
2561
+ <li class="never" data-hits="" data-linenumber="34">
2562
+
2563
+
2564
+ <code class="ruby"> end</code>
2565
+ </li>
2566
+
2567
+ <li class="never" data-hits="" data-linenumber="35">
2568
+
2569
+
2570
+ <code class="ruby"> end</code>
2571
+ </li>
2572
+
2573
+ <li class="never" data-hits="" data-linenumber="36">
2574
+
2575
+
2576
+ <code class="ruby"></code>
2577
+ </li>
2578
+
2579
+ <li class="covered" data-hits="1" data-linenumber="37">
2580
+ <span class="hits">1</span>
2581
+
2582
+ <code class="ruby"> context &#39;when #save_results_message method&#39; do</code>
2583
+ </li>
2584
+
2585
+ <li class="covered" data-hits="1" data-linenumber="38">
2586
+ <span class="hits">1</span>
2587
+
2588
+ <code class="ruby"> it &#39;return save_results_message&#39; do</code>
2589
+ </li>
2590
+
2591
+ <li class="covered" data-hits="1" data-linenumber="39">
2592
+ <span class="hits">1</span>
2593
+
2594
+ <code class="ruby"> expect(subject).to receive(:message).with(:save_results_message)</code>
2595
+ </li>
2596
+
2597
+ <li class="covered" data-hits="1" data-linenumber="40">
2598
+ <span class="hits">1</span>
2599
+
2600
+ <code class="ruby"> subject.save_results_message</code>
2601
+ </li>
2602
+
2603
+ <li class="never" data-hits="" data-linenumber="41">
2604
+
2605
+
2606
+ <code class="ruby"> end</code>
2607
+ </li>
2608
+
2609
+ <li class="never" data-hits="" data-linenumber="42">
2610
+
2611
+
2612
+ <code class="ruby"> end</code>
2613
+ </li>
2614
+
2615
+ <li class="never" data-hits="" data-linenumber="43">
2616
+
2617
+
2618
+ <code class="ruby"></code>
2619
+ </li>
2620
+
2621
+ <li class="covered" data-hits="1" data-linenumber="44">
2622
+ <span class="hits">1</span>
2623
+
2624
+ <code class="ruby"> context &#39;when #win_game_message method&#39; do</code>
2625
+ </li>
2626
+
2627
+ <li class="covered" data-hits="1" data-linenumber="45">
2628
+ <span class="hits">1</span>
2629
+
2630
+ <code class="ruby"> it &#39;return win_game_message&#39; do</code>
2631
+ </li>
2632
+
2633
+ <li class="covered" data-hits="1" data-linenumber="46">
2634
+ <span class="hits">1</span>
2635
+
2636
+ <code class="ruby"> expect(subject).to receive(:message).with(:win_game_message)</code>
2637
+ </li>
2638
+
2639
+ <li class="covered" data-hits="1" data-linenumber="47">
2640
+ <span class="hits">1</span>
2641
+
2642
+ <code class="ruby"> subject.win_game_message</code>
2643
+ </li>
2644
+
2645
+ <li class="never" data-hits="" data-linenumber="48">
2646
+
2647
+
2648
+ <code class="ruby"> end</code>
2649
+ </li>
2650
+
2651
+ <li class="never" data-hits="" data-linenumber="49">
2652
+
2653
+
2654
+ <code class="ruby"> end</code>
2655
+ </li>
2656
+
2657
+ <li class="never" data-hits="" data-linenumber="50">
2658
+
2659
+
2660
+ <code class="ruby"></code>
2661
+ </li>
2662
+
2663
+ <li class="covered" data-hits="1" data-linenumber="51">
2664
+ <span class="hits">1</span>
2665
+
2666
+ <code class="ruby"> context &#39;when #round_message method&#39; do</code>
2667
+ </li>
2668
+
2669
+ <li class="covered" data-hits="1" data-linenumber="52">
2670
+ <span class="hits">1</span>
2671
+
2672
+ <code class="ruby"> it &#39;return promt_to_enter_secret_code_hint_exit&#39; do</code>
2673
+ </li>
2674
+
2675
+ <li class="covered" data-hits="1" data-linenumber="53">
2676
+ <span class="hits">1</span>
2677
+
2678
+ <code class="ruby"> expect(subject).to receive(:message).with(:round_message)</code>
2679
+ </li>
2680
+
2681
+ <li class="covered" data-hits="1" data-linenumber="54">
2682
+ <span class="hits">1</span>
2683
+
2684
+ <code class="ruby"> subject.round_message</code>
2685
+ </li>
2686
+
2687
+ <li class="never" data-hits="" data-linenumber="55">
2688
+
2689
+
2690
+ <code class="ruby"> end</code>
2691
+ </li>
2692
+
2693
+ <li class="never" data-hits="" data-linenumber="56">
2694
+
2695
+
2696
+ <code class="ruby"> end</code>
2697
+ </li>
2698
+
2699
+ <li class="never" data-hits="" data-linenumber="57">
2700
+
2701
+
2702
+ <code class="ruby"></code>
2703
+ </li>
2704
+
2705
+ <li class="covered" data-hits="1" data-linenumber="58">
2706
+ <span class="hits">1</span>
2707
+
2708
+ <code class="ruby"> context &#39;when #lost_game_message method&#39; do</code>
2709
+ </li>
2710
+
2711
+ <li class="covered" data-hits="1" data-linenumber="59">
2712
+ <span class="hits">1</span>
2713
+
2714
+ <code class="ruby"> it &#39;return lost_game_message&#39; do</code>
2715
+ </li>
2716
+
2717
+ <li class="covered" data-hits="1" data-linenumber="60">
2718
+ <span class="hits">1</span>
2719
+
2720
+ <code class="ruby"> expect(subject).to receive(:message).with(:lost_game_message, code: code)</code>
2721
+ </li>
2722
+
2723
+ <li class="covered" data-hits="1" data-linenumber="61">
2724
+ <span class="hits">1</span>
2725
+
2726
+ <code class="ruby"> subject.lost_game_message(code)</code>
2727
+ </li>
2728
+
2729
+ <li class="never" data-hits="" data-linenumber="62">
2730
+
2731
+
2732
+ <code class="ruby"> end</code>
2733
+ </li>
2734
+
2735
+ <li class="never" data-hits="" data-linenumber="63">
2736
+
2737
+
2738
+ <code class="ruby"> end</code>
2739
+ </li>
2740
+
2741
+ <li class="never" data-hits="" data-linenumber="64">
2742
+
2743
+
2744
+ <code class="ruby"></code>
2745
+ </li>
2746
+
2747
+ <li class="covered" data-hits="1" data-linenumber="65">
2748
+ <span class="hits">1</span>
2749
+
2750
+ <code class="ruby"> context &#39;when #no_hints_message? method&#39; do</code>
2751
+ </li>
2752
+
2753
+ <li class="covered" data-hits="1" data-linenumber="66">
2754
+ <span class="hits">1</span>
2755
+
2756
+ <code class="ruby"> it &#39;return no_hints_message?&#39; do</code>
2757
+ </li>
2758
+
2759
+ <li class="covered" data-hits="1" data-linenumber="67">
2760
+ <span class="hits">1</span>
2761
+
2762
+ <code class="ruby"> expect(subject).to receive(:message).with(:have_no_hints_message)</code>
2763
+ </li>
2764
+
2765
+ <li class="covered" data-hits="1" data-linenumber="68">
2766
+ <span class="hits">1</span>
2767
+
2768
+ <code class="ruby"> subject.no_hints_message?</code>
2769
+ </li>
2770
+
2771
+ <li class="never" data-hits="" data-linenumber="69">
2772
+
2773
+
2774
+ <code class="ruby"> end</code>
2775
+ </li>
2776
+
2777
+ <li class="never" data-hits="" data-linenumber="70">
2778
+
2779
+
2780
+ <code class="ruby"> end</code>
2781
+ </li>
2782
+
2783
+ <li class="never" data-hits="" data-linenumber="71">
2784
+
2785
+
2786
+ <code class="ruby"></code>
2787
+ </li>
2788
+
2789
+ <li class="covered" data-hits="1" data-linenumber="72">
2790
+ <span class="hits">1</span>
2791
+
2792
+ <code class="ruby"> context &#39;when #print_hint_number method&#39; do</code>
2793
+ </li>
2794
+
2795
+ <li class="covered" data-hits="1" data-linenumber="73">
2796
+ <span class="hits">1</span>
2797
+
2798
+ <code class="ruby"> it &#39;return print_hint_number&#39; do</code>
2799
+ </li>
2800
+
2801
+ <li class="covered" data-hits="1" data-linenumber="74">
2802
+ <span class="hits">1</span>
2803
+
2804
+ <code class="ruby"> expect(subject).to receive(:message).with(:print_hint_number, code: code)</code>
2805
+ </li>
2806
+
2807
+ <li class="covered" data-hits="1" data-linenumber="75">
2808
+ <span class="hits">1</span>
2809
+
2810
+ <code class="ruby"> subject.print_hint_number(code)</code>
2811
+ </li>
2812
+
2813
+ <li class="never" data-hits="" data-linenumber="76">
2814
+
2815
+
2816
+ <code class="ruby"> end</code>
2817
+ </li>
2818
+
2819
+ <li class="never" data-hits="" data-linenumber="77">
2820
+
2821
+
2822
+ <code class="ruby"> end</code>
2823
+ </li>
2824
+
2825
+ <li class="never" data-hits="" data-linenumber="78">
2826
+
2827
+
2828
+ <code class="ruby"></code>
2829
+ </li>
2830
+
2831
+ <li class="covered" data-hits="1" data-linenumber="79">
2832
+ <span class="hits">1</span>
2833
+
2834
+ <code class="ruby"> context &#39;when #registration_name_emptyness_error method&#39; do</code>
2835
+ </li>
2836
+
2837
+ <li class="covered" data-hits="1" data-linenumber="80">
2838
+ <span class="hits">1</span>
2839
+
2840
+ <code class="ruby"> it &#39;return registration_name_emptyness_error&#39; do</code>
2841
+ </li>
2842
+
2843
+ <li class="covered" data-hits="1" data-linenumber="81">
2844
+ <span class="hits">1</span>
2845
+
2846
+ <code class="ruby"> expect(subject).to receive(:message).with(:registration_name_emptyness_error)</code>
2847
+ </li>
2848
+
2849
+ <li class="covered" data-hits="1" data-linenumber="82">
2850
+ <span class="hits">1</span>
2851
+
2852
+ <code class="ruby"> subject.registration_name_emptyness_error</code>
2853
+ </li>
2854
+
2855
+ <li class="never" data-hits="" data-linenumber="83">
2856
+
2857
+
2858
+ <code class="ruby"> end</code>
2859
+ </li>
2860
+
2861
+ <li class="never" data-hits="" data-linenumber="84">
2862
+
2863
+
2864
+ <code class="ruby"> end</code>
2865
+ </li>
2866
+
2867
+ <li class="never" data-hits="" data-linenumber="85">
2868
+
2869
+
2870
+ <code class="ruby"></code>
2871
+ </li>
2872
+
2873
+ <li class="covered" data-hits="1" data-linenumber="86">
2874
+ <span class="hits">1</span>
2875
+
2876
+ <code class="ruby"> context &#39;when #registration_name_length_error method&#39; do</code>
2877
+ </li>
2878
+
2879
+ <li class="covered" data-hits="1" data-linenumber="87">
2880
+ <span class="hits">1</span>
2881
+
2882
+ <code class="ruby"> it &#39;return registration_name_length_error&#39; do</code>
2883
+ </li>
2884
+
2885
+ <li class="covered" data-hits="1" data-linenumber="88">
2886
+ <span class="hits">1</span>
2887
+
2888
+ <code class="ruby"> expect(subject).to receive(:message).with(:registration_name_length_error)</code>
2889
+ </li>
2890
+
2891
+ <li class="covered" data-hits="1" data-linenumber="89">
2892
+ <span class="hits">1</span>
2893
+
2894
+ <code class="ruby"> subject.registration_name_length_error</code>
2895
+ </li>
2896
+
2897
+ <li class="never" data-hits="" data-linenumber="90">
2898
+
2899
+
2900
+ <code class="ruby"> end</code>
2901
+ </li>
2902
+
2903
+ <li class="never" data-hits="" data-linenumber="91">
2904
+
2905
+
2906
+ <code class="ruby"> end</code>
2907
+ </li>
2908
+
2909
+ <li class="never" data-hits="" data-linenumber="92">
2910
+
2911
+
2912
+ <code class="ruby"></code>
2913
+ </li>
2914
+
2915
+ <li class="covered" data-hits="1" data-linenumber="93">
2916
+ <span class="hits">1</span>
2917
+
2918
+ <code class="ruby"> context &#39;when #command_error method&#39; do</code>
2919
+ </li>
2920
+
2921
+ <li class="covered" data-hits="1" data-linenumber="94">
2922
+ <span class="hits">1</span>
2923
+
2924
+ <code class="ruby"> it &#39;return command_error&#39; do</code>
2925
+ </li>
2926
+
2927
+ <li class="covered" data-hits="1" data-linenumber="95">
2928
+ <span class="hits">1</span>
2929
+
2930
+ <code class="ruby"> expect(subject).to receive(:message).with(:command_error)</code>
2931
+ </li>
2932
+
2933
+ <li class="covered" data-hits="1" data-linenumber="96">
2934
+ <span class="hits">1</span>
2935
+
2936
+ <code class="ruby"> subject.command_error</code>
2937
+ </li>
2938
+
2939
+ <li class="never" data-hits="" data-linenumber="97">
2940
+
2941
+
2942
+ <code class="ruby"> end</code>
2943
+ </li>
2944
+
2945
+ <li class="never" data-hits="" data-linenumber="98">
2946
+
2947
+
2948
+ <code class="ruby"> end</code>
2949
+ </li>
2950
+
2951
+ <li class="never" data-hits="" data-linenumber="99">
2952
+
2953
+
2954
+ <code class="ruby"></code>
2955
+ </li>
2956
+
2957
+ <li class="covered" data-hits="1" data-linenumber="100">
2958
+ <span class="hits">1</span>
2959
+
2960
+ <code class="ruby"> context &#39;when #command_length_error method&#39; do</code>
2961
+ </li>
2962
+
2963
+ <li class="covered" data-hits="1" data-linenumber="101">
2964
+ <span class="hits">1</span>
2965
+
2966
+ <code class="ruby"> it &#39;return command_length_error&#39; do</code>
2967
+ </li>
2968
+
2969
+ <li class="covered" data-hits="1" data-linenumber="102">
2970
+ <span class="hits">1</span>
2971
+
2972
+ <code class="ruby"> expect(subject).to receive(:message).with(:command_length_error)</code>
2973
+ </li>
2974
+
2975
+ <li class="covered" data-hits="1" data-linenumber="103">
2976
+ <span class="hits">1</span>
2977
+
2978
+ <code class="ruby"> subject.command_length_error</code>
2979
+ </li>
2980
+
2981
+ <li class="never" data-hits="" data-linenumber="104">
2982
+
2983
+
2984
+ <code class="ruby"> end</code>
2985
+ </li>
2986
+
2987
+ <li class="never" data-hits="" data-linenumber="105">
2988
+
2989
+
2990
+ <code class="ruby"> end</code>
2991
+ </li>
2992
+
2993
+ <li class="never" data-hits="" data-linenumber="106">
2994
+
2995
+
2996
+ <code class="ruby"></code>
2997
+ </li>
2998
+
2999
+ <li class="covered" data-hits="1" data-linenumber="107">
3000
+ <span class="hits">1</span>
3001
+
3002
+ <code class="ruby"> context &#39;when #command_int_error method&#39; do</code>
3003
+ </li>
3004
+
3005
+ <li class="covered" data-hits="1" data-linenumber="108">
3006
+ <span class="hits">1</span>
3007
+
3008
+ <code class="ruby"> it &#39;return command_int_error&#39; do</code>
3009
+ </li>
3010
+
3011
+ <li class="covered" data-hits="1" data-linenumber="109">
3012
+ <span class="hits">1</span>
3013
+
3014
+ <code class="ruby"> expect(subject).to receive(:message).with(:command_int_error)</code>
3015
+ </li>
3016
+
3017
+ <li class="covered" data-hits="1" data-linenumber="110">
3018
+ <span class="hits">1</span>
3019
+
3020
+ <code class="ruby"> subject.command_int_error</code>
3021
+ </li>
3022
+
3023
+ <li class="never" data-hits="" data-linenumber="111">
3024
+
3025
+
3026
+ <code class="ruby"> end</code>
3027
+ </li>
3028
+
3029
+ <li class="never" data-hits="" data-linenumber="112">
3030
+
3031
+
3032
+ <code class="ruby"> end</code>
3033
+ </li>
3034
+
3035
+ <li class="never" data-hits="" data-linenumber="113">
3036
+
3037
+
3038
+ <code class="ruby">end</code>
3039
+ </li>
3040
+
3041
+ </ol>
3042
+ </pre>
3043
+ </div>
3044
+
3045
+
3046
+ <div class="source_table" id="214e6df7f3538b440e373546594f1a36adfbd207">
3047
+ <div class="header">
3048
+ <h3>spec/codebreaker/statistics_spec.rb</h3>
3049
+ <h4><span class="green">100.0 %</span> covered</h4>
3050
+ <div>
3051
+ <b>19</b> relevant lines.
3052
+ <span class="green"><b>19</b> lines covered</span> and
3053
+ <span class="red"><b>0</b> lines missed.</span>
3054
+ </div>
3055
+ </div>
3056
+
3057
+ <pre>
3058
+ <ol>
3059
+
3060
+ <li class="never" data-hits="" data-linenumber="1">
3061
+
3062
+
3063
+ <code class="ruby"># frozen_string_literal: true</code>
3064
+ </li>
3065
+
3066
+ <li class="never" data-hits="" data-linenumber="2">
3067
+
3068
+
3069
+ <code class="ruby"></code>
3070
+ </li>
3071
+
3072
+ <li class="covered" data-hits="1" data-linenumber="3">
3073
+ <span class="hits">1</span>
3074
+
3075
+ <code class="ruby">require &#39;spec_helper&#39;</code>
3076
+ </li>
3077
+
3078
+ <li class="never" data-hits="" data-linenumber="4">
3079
+
3080
+
3081
+ <code class="ruby"></code>
3082
+ </li>
3083
+
3084
+ <li class="covered" data-hits="1" data-linenumber="5">
3085
+ <span class="hits">1</span>
3086
+
3087
+ <code class="ruby">RSpec.describe Statistics do</code>
3088
+ </li>
3089
+
3090
+ <li class="covered" data-hits="1" data-linenumber="6">
3091
+ <span class="hits">1</span>
3092
+
3093
+ <code class="ruby"> context &#39;when testing #stats method&#39; do</code>
3094
+ </li>
3095
+
3096
+ <li class="covered" data-hits="1" data-linenumber="7">
3097
+ <span class="hits">1</span>
3098
+
3099
+ <code class="ruby"> let(:player_1) do</code>
3100
+ </li>
3101
+
3102
+ <li class="covered" data-hits="1" data-linenumber="8">
3103
+ <span class="hits">1</span>
3104
+
3105
+ <code class="ruby"> {</code>
3106
+ </li>
3107
+
3108
+ <li class="never" data-hits="" data-linenumber="9">
3109
+
3110
+
3111
+ <code class="ruby"> name: &#39;&#39;,</code>
3112
+ </li>
3113
+
3114
+ <li class="never" data-hits="" data-linenumber="10">
3115
+
3116
+
3117
+ <code class="ruby"> difficulty: Game::DIFFICULTIES.keys.first.to_s,</code>
3118
+ </li>
3119
+
3120
+ <li class="never" data-hits="" data-linenumber="11">
3121
+
3122
+
3123
+ <code class="ruby"> all_attempts: 15,</code>
3124
+ </li>
3125
+
3126
+ <li class="never" data-hits="" data-linenumber="12">
3127
+
3128
+
3129
+ <code class="ruby"> attempts_used: 10,</code>
3130
+ </li>
3131
+
3132
+ <li class="never" data-hits="" data-linenumber="13">
3133
+
3134
+
3135
+ <code class="ruby"> all_hints: 2,</code>
3136
+ </li>
3137
+
3138
+ <li class="never" data-hits="" data-linenumber="14">
3139
+
3140
+
3141
+ <code class="ruby"> hints_used: 0</code>
3142
+ </li>
3143
+
3144
+ <li class="never" data-hits="" data-linenumber="15">
3145
+
3146
+
3147
+ <code class="ruby"> }</code>
3148
+ </li>
3149
+
3150
+ <li class="never" data-hits="" data-linenumber="16">
3151
+
3152
+
3153
+ <code class="ruby"> end</code>
3154
+ </li>
3155
+
3156
+ <li class="covered" data-hits="1" data-linenumber="17">
3157
+ <span class="hits">1</span>
3158
+
3159
+ <code class="ruby"> let(:player_2) do</code>
3160
+ </li>
3161
+
3162
+ <li class="covered" data-hits="1" data-linenumber="18">
3163
+ <span class="hits">1</span>
3164
+
3165
+ <code class="ruby"> {</code>
3166
+ </li>
3167
+
3168
+ <li class="never" data-hits="" data-linenumber="19">
3169
+
3170
+
3171
+ <code class="ruby"> name: &#39;&#39;,</code>
3172
+ </li>
3173
+
3174
+ <li class="never" data-hits="" data-linenumber="20">
3175
+
3176
+
3177
+ <code class="ruby"> difficulty: Game::DIFFICULTIES.keys.first.to_s,</code>
3178
+ </li>
3179
+
3180
+ <li class="never" data-hits="" data-linenumber="21">
3181
+
3182
+
3183
+ <code class="ruby"> all_attempts: 15,</code>
3184
+ </li>
3185
+
3186
+ <li class="never" data-hits="" data-linenumber="22">
3187
+
3188
+
3189
+ <code class="ruby"> attempts_used: 15,</code>
3190
+ </li>
3191
+
3192
+ <li class="never" data-hits="" data-linenumber="23">
3193
+
3194
+
3195
+ <code class="ruby"> all_hints: 2,</code>
3196
+ </li>
3197
+
3198
+ <li class="never" data-hits="" data-linenumber="24">
3199
+
3200
+
3201
+ <code class="ruby"> hints_used: 1</code>
3202
+ </li>
3203
+
3204
+ <li class="never" data-hits="" data-linenumber="25">
3205
+
3206
+
3207
+ <code class="ruby"> }</code>
3208
+ </li>
3209
+
3210
+ <li class="never" data-hits="" data-linenumber="26">
3211
+
3212
+
3213
+ <code class="ruby"> end</code>
3214
+ </li>
3215
+
3216
+ <li class="covered" data-hits="1" data-linenumber="27">
3217
+ <span class="hits">1</span>
3218
+
3219
+ <code class="ruby"> let(:player_3) do</code>
3220
+ </li>
3221
+
3222
+ <li class="covered" data-hits="1" data-linenumber="28">
3223
+ <span class="hits">1</span>
3224
+
3225
+ <code class="ruby"> {</code>
3226
+ </li>
3227
+
3228
+ <li class="never" data-hits="" data-linenumber="29">
3229
+
3230
+
3231
+ <code class="ruby"> name: &#39;&#39;,</code>
3232
+ </li>
3233
+
3234
+ <li class="never" data-hits="" data-linenumber="30">
3235
+
3236
+
3237
+ <code class="ruby"> difficulty: Game::DIFFICULTIES.keys.first.to_s,</code>
3238
+ </li>
3239
+
3240
+ <li class="never" data-hits="" data-linenumber="31">
3241
+
3242
+
3243
+ <code class="ruby"> all_attempts: 15,</code>
3244
+ </li>
3245
+
3246
+ <li class="never" data-hits="" data-linenumber="32">
3247
+
3248
+
3249
+ <code class="ruby"> attempts_used: 5,</code>
3250
+ </li>
3251
+
3252
+ <li class="never" data-hits="" data-linenumber="33">
3253
+
3254
+
3255
+ <code class="ruby"> all_hints: 2,</code>
3256
+ </li>
3257
+
3258
+ <li class="never" data-hits="" data-linenumber="34">
3259
+
3260
+
3261
+ <code class="ruby"> hints_used: 0</code>
3262
+ </li>
3263
+
3264
+ <li class="never" data-hits="" data-linenumber="35">
3265
+
3266
+
3267
+ <code class="ruby"> }</code>
3268
+ </li>
3269
+
3270
+ <li class="never" data-hits="" data-linenumber="36">
3271
+
3272
+
3273
+ <code class="ruby"> end</code>
3274
+ </li>
3275
+
3276
+ <li class="never" data-hits="" data-linenumber="37">
3277
+
3278
+
3279
+ <code class="ruby"></code>
3280
+ </li>
3281
+
3282
+ <li class="covered" data-hits="1" data-linenumber="38">
3283
+ <span class="hits">1</span>
3284
+
3285
+ <code class="ruby"> let(:player_4) do</code>
3286
+ </li>
3287
+
3288
+ <li class="covered" data-hits="1" data-linenumber="39">
3289
+ <span class="hits">1</span>
3290
+
3291
+ <code class="ruby"> {</code>
3292
+ </li>
3293
+
3294
+ <li class="never" data-hits="" data-linenumber="40">
3295
+
3296
+
3297
+ <code class="ruby"> name: &#39;&#39;,</code>
3298
+ </li>
3299
+
3300
+ <li class="never" data-hits="" data-linenumber="41">
3301
+
3302
+
3303
+ <code class="ruby"> difficulty: Game::DIFFICULTIES.keys.last.to_s,</code>
3304
+ </li>
3305
+
3306
+ <li class="never" data-hits="" data-linenumber="42">
3307
+
3308
+
3309
+ <code class="ruby"> all_attempts: 5,</code>
3310
+ </li>
3311
+
3312
+ <li class="never" data-hits="" data-linenumber="43">
3313
+
3314
+
3315
+ <code class="ruby"> attempts_used: 3,</code>
3316
+ </li>
3317
+
3318
+ <li class="never" data-hits="" data-linenumber="44">
3319
+
3320
+
3321
+ <code class="ruby"> all_hints: 1,</code>
3322
+ </li>
3323
+
3324
+ <li class="never" data-hits="" data-linenumber="45">
3325
+
3326
+
3327
+ <code class="ruby"> hints_used: 0</code>
3328
+ </li>
3329
+
3330
+ <li class="never" data-hits="" data-linenumber="46">
3331
+
3332
+
3333
+ <code class="ruby"> }</code>
3334
+ </li>
3335
+
3336
+ <li class="never" data-hits="" data-linenumber="47">
3337
+
3338
+
3339
+ <code class="ruby"> end</code>
3340
+ </li>
3341
+
3342
+ <li class="never" data-hits="" data-linenumber="48">
3343
+
3344
+
3345
+ <code class="ruby"></code>
3346
+ </li>
3347
+
3348
+ <li class="covered" data-hits="1" data-linenumber="49">
3349
+ <span class="hits">1</span>
3350
+
3351
+ <code class="ruby"> let(:player_5) do</code>
3352
+ </li>
3353
+
3354
+ <li class="covered" data-hits="1" data-linenumber="50">
3355
+ <span class="hits">1</span>
3356
+
3357
+ <code class="ruby"> {</code>
3358
+ </li>
3359
+
3360
+ <li class="never" data-hits="" data-linenumber="51">
3361
+
3362
+
3363
+ <code class="ruby"> name: &#39;&#39;,</code>
3364
+ </li>
3365
+
3366
+ <li class="never" data-hits="" data-linenumber="52">
3367
+
3368
+
3369
+ <code class="ruby"> difficulty: Game::DIFFICULTIES.keys.last.to_s,</code>
3370
+ </li>
3371
+
3372
+ <li class="never" data-hits="" data-linenumber="53">
3373
+
3374
+
3375
+ <code class="ruby"> all_attempts: 5,</code>
3376
+ </li>
3377
+
3378
+ <li class="never" data-hits="" data-linenumber="54">
3379
+
3380
+
3381
+ <code class="ruby"> attempts_used: 1,</code>
3382
+ </li>
3383
+
3384
+ <li class="never" data-hits="" data-linenumber="55">
3385
+
3386
+
3387
+ <code class="ruby"> all_hints: 1,</code>
3388
+ </li>
3389
+
3390
+ <li class="never" data-hits="" data-linenumber="56">
3391
+
3392
+
3393
+ <code class="ruby"> hints_used: 1</code>
3394
+ </li>
3395
+
3396
+ <li class="never" data-hits="" data-linenumber="57">
3397
+
3398
+
3399
+ <code class="ruby"> }</code>
3400
+ </li>
3401
+
3402
+ <li class="never" data-hits="" data-linenumber="58">
3403
+
3404
+
3405
+ <code class="ruby"> end</code>
3406
+ </li>
3407
+
3408
+ <li class="never" data-hits="" data-linenumber="59">
3409
+
3410
+
3411
+ <code class="ruby"></code>
3412
+ </li>
3413
+
3414
+ <li class="covered" data-hits="1" data-linenumber="60">
3415
+ <span class="hits">1</span>
3416
+
3417
+ <code class="ruby"> let(:player_6) do</code>
3418
+ </li>
3419
+
3420
+ <li class="covered" data-hits="1" data-linenumber="61">
3421
+ <span class="hits">1</span>
3422
+
3423
+ <code class="ruby"> {</code>
3424
+ </li>
3425
+
3426
+ <li class="never" data-hits="" data-linenumber="62">
3427
+
3428
+
3429
+ <code class="ruby"> name: &#39;&#39;,</code>
3430
+ </li>
3431
+
3432
+ <li class="never" data-hits="" data-linenumber="63">
3433
+
3434
+
3435
+ <code class="ruby"> difficulty: Game::DIFFICULTIES.keys.last.to_s,</code>
3436
+ </li>
3437
+
3438
+ <li class="never" data-hits="" data-linenumber="64">
3439
+
3440
+
3441
+ <code class="ruby"> all_attempts: 5,</code>
3442
+ </li>
3443
+
3444
+ <li class="never" data-hits="" data-linenumber="65">
3445
+
3446
+
3447
+ <code class="ruby"> attempts_used: 3,</code>
3448
+ </li>
3449
+
3450
+ <li class="never" data-hits="" data-linenumber="66">
3451
+
3452
+
3453
+ <code class="ruby"> all_hints: 1,</code>
3454
+ </li>
3455
+
3456
+ <li class="never" data-hits="" data-linenumber="67">
3457
+
3458
+
3459
+ <code class="ruby"> hints_used: 1</code>
3460
+ </li>
3461
+
3462
+ <li class="never" data-hits="" data-linenumber="68">
3463
+
3464
+
3465
+ <code class="ruby"> }</code>
3466
+ </li>
3467
+
3468
+ <li class="never" data-hits="" data-linenumber="69">
3469
+
3470
+
3471
+ <code class="ruby"> end</code>
3472
+ </li>
3473
+
3474
+ <li class="never" data-hits="" data-linenumber="70">
3475
+
3476
+
3477
+ <code class="ruby"></code>
3478
+ </li>
3479
+
3480
+ <li class="covered" data-hits="1" data-linenumber="71">
3481
+ <span class="hits">1</span>
3482
+
3483
+ <code class="ruby"> it &#39;returns stats&#39; do</code>
3484
+ </li>
3485
+
3486
+ <li class="covered" data-hits="1" data-linenumber="72">
3487
+ <span class="hits">1</span>
3488
+
3489
+ <code class="ruby"> list = [player_1, player_2, player_3, player_4, player_5, player_6]</code>
3490
+ </li>
3491
+
3492
+ <li class="covered" data-hits="1" data-linenumber="73">
3493
+ <span class="hits">1</span>
3494
+
3495
+ <code class="ruby"> expected_value = [player_6, player_4, player_5, player_2, player_1, player_3]</code>
3496
+ </li>
3497
+
3498
+ <li class="covered" data-hits="1" data-linenumber="74">
3499
+ <span class="hits">1</span>
3500
+
3501
+ <code class="ruby"> expect(subject.stats(list)).to eq expected_value</code>
3502
+ </li>
3503
+
3504
+ <li class="never" data-hits="" data-linenumber="75">
3505
+
3506
+
3507
+ <code class="ruby"> end</code>
3508
+ </li>
3509
+
3510
+ <li class="never" data-hits="" data-linenumber="76">
3511
+
3512
+
3513
+ <code class="ruby"> end</code>
3514
+ </li>
3515
+
3516
+ <li class="never" data-hits="" data-linenumber="77">
3517
+
3518
+
3519
+ <code class="ruby">end</code>
3520
+ </li>
3521
+
3522
+ </ol>
3523
+ </pre>
3524
+ </div>
3525
+
3526
+
3527
+ <div class="source_table" id="39c360ff4d3469f6b627f2cfe0dcd9514d432c40">
3528
+ <div class="header">
3529
+ <h3>spec/codebreaker/validator_spec.rb</h3>
3530
+ <h4><span class="green">100.0 %</span> covered</h4>
3531
+ <div>
3532
+ <b>24</b> relevant lines.
3533
+ <span class="green"><b>24</b> lines covered</span> and
3534
+ <span class="red"><b>0</b> lines missed.</span>
3535
+ </div>
3536
+ </div>
3537
+
3538
+ <pre>
3539
+ <ol>
3540
+
3541
+ <li class="never" data-hits="" data-linenumber="1">
3542
+
3543
+
3544
+ <code class="ruby"># frozen_string_literal: true</code>
3545
+ </li>
3546
+
3547
+ <li class="never" data-hits="" data-linenumber="2">
3548
+
3549
+
3550
+ <code class="ruby"></code>
3551
+ </li>
3552
+
3553
+ <li class="covered" data-hits="1" data-linenumber="3">
3554
+ <span class="hits">1</span>
3555
+
3556
+ <code class="ruby">require &#39;spec_helper&#39;</code>
3557
+ </li>
3558
+
3559
+ <li class="never" data-hits="" data-linenumber="4">
3560
+
3561
+
3562
+ <code class="ruby"></code>
3563
+ </li>
3564
+
3565
+ <li class="covered" data-hits="1" data-linenumber="5">
3566
+ <span class="hits">1</span>
3567
+
3568
+ <code class="ruby">class DummyClass</code>
3569
+ </li>
3570
+
3571
+ <li class="covered" data-hits="1" data-linenumber="6">
3572
+ <span class="hits">1</span>
3573
+
3574
+ <code class="ruby"> include Validator</code>
3575
+ </li>
3576
+
3577
+ <li class="never" data-hits="" data-linenumber="7">
3578
+
3579
+
3580
+ <code class="ruby">end</code>
3581
+ </li>
3582
+
3583
+ <li class="never" data-hits="" data-linenumber="8">
3584
+
3585
+
3586
+ <code class="ruby"></code>
3587
+ </li>
3588
+
3589
+ <li class="covered" data-hits="1" data-linenumber="9">
3590
+ <span class="hits">1</span>
3591
+
3592
+ <code class="ruby">RSpec.describe DummyClass do</code>
3593
+ </li>
3594
+
3595
+ <li class="covered" data-hits="2" data-linenumber="10">
3596
+ <span class="hits">2</span>
3597
+
3598
+ <code class="ruby"> let(:invalid_range) { (7..9) }</code>
3599
+ </li>
3600
+
3601
+ <li class="covered" data-hits="3" data-linenumber="11">
3602
+ <span class="hits">3</span>
3603
+
3604
+ <code class="ruby"> let(:valid_name) { &#39;a&#39; * rand(3..20) }</code>
3605
+ </li>
3606
+
3607
+ <li class="covered" data-hits="3" data-linenumber="12">
3608
+ <span class="hits">3</span>
3609
+
3610
+ <code class="ruby"> let(:empty_name) { &#39;&#39; }</code>
3611
+ </li>
3612
+
3613
+ <li class="covered" data-hits="6" data-linenumber="13">
3614
+ <span class="hits">6</span>
3615
+
3616
+ <code class="ruby"> let(:code_valid) { Array.new(Game::DIGITS_COUNT) { rand(Game::RANGE) } }</code>
3617
+ </li>
3618
+
3619
+ <li class="covered" data-hits="6" data-linenumber="14">
3620
+ <span class="hits">6</span>
3621
+
3622
+ <code class="ruby"> let(:code_unvalid) { Array.new(Game::DIGITS_COUNT) { rand(invalid_range) } }</code>
3623
+ </li>
3624
+
3625
+ <li class="never" data-hits="" data-linenumber="15">
3626
+
3627
+
3628
+ <code class="ruby"></code>
3629
+ </li>
3630
+
3631
+ <li class="covered" data-hits="1" data-linenumber="16">
3632
+ <span class="hits">1</span>
3633
+
3634
+ <code class="ruby"> context &#39;testing #check_emptyness method&#39; do</code>
3635
+ </li>
3636
+
3637
+ <li class="covered" data-hits="1" data-linenumber="17">
3638
+ <span class="hits">1</span>
3639
+
3640
+ <code class="ruby"> it &#39;returns true when name not empty&#39; do</code>
3641
+ </li>
3642
+
3643
+ <li class="covered" data-hits="1" data-linenumber="18">
3644
+ <span class="hits">1</span>
3645
+
3646
+ <code class="ruby"> expect(subject.check_emptyness(valid_name)).to be false</code>
3647
+ </li>
3648
+
3649
+ <li class="never" data-hits="" data-linenumber="19">
3650
+
3651
+
3652
+ <code class="ruby"> end</code>
3653
+ </li>
3654
+
3655
+ <li class="never" data-hits="" data-linenumber="20">
3656
+
3657
+
3658
+ <code class="ruby"></code>
3659
+ </li>
3660
+
3661
+ <li class="covered" data-hits="1" data-linenumber="21">
3662
+ <span class="hits">1</span>
3663
+
3664
+ <code class="ruby"> it &#39;returns false&#39; do</code>
3665
+ </li>
3666
+
3667
+ <li class="covered" data-hits="1" data-linenumber="22">
3668
+ <span class="hits">1</span>
3669
+
3670
+ <code class="ruby"> expect(subject.check_emptyness(empty_name)).to be true</code>
3671
+ </li>
3672
+
3673
+ <li class="never" data-hits="" data-linenumber="23">
3674
+
3675
+
3676
+ <code class="ruby"> end</code>
3677
+ </li>
3678
+
3679
+ <li class="never" data-hits="" data-linenumber="24">
3680
+
3681
+
3682
+ <code class="ruby"> end</code>
3683
+ </li>
3684
+
3685
+ <li class="never" data-hits="" data-linenumber="25">
3686
+
3687
+
3688
+ <code class="ruby"></code>
3689
+ </li>
3690
+
3691
+ <li class="covered" data-hits="1" data-linenumber="26">
3692
+ <span class="hits">1</span>
3693
+
3694
+ <code class="ruby"> context &#39;testing #check_name_length method&#39; do</code>
3695
+ </li>
3696
+
3697
+ <li class="covered" data-hits="1" data-linenumber="27">
3698
+ <span class="hits">1</span>
3699
+
3700
+ <code class="ruby"> it &#39;returns true&#39; do</code>
3701
+ </li>
3702
+
3703
+ <li class="covered" data-hits="1" data-linenumber="28">
3704
+ <span class="hits">1</span>
3705
+
3706
+ <code class="ruby"> expect(subject.check_length(valid_name, Menu::MIN_SIZE_VALUE, Menu::MAX_SIZE_VALUE)).to be true</code>
3707
+ </li>
3708
+
3709
+ <li class="never" data-hits="" data-linenumber="29">
3710
+
3711
+
3712
+ <code class="ruby"> end</code>
3713
+ </li>
3714
+
3715
+ <li class="never" data-hits="" data-linenumber="30">
3716
+
3717
+
3718
+ <code class="ruby"></code>
3719
+ </li>
3720
+
3721
+ <li class="covered" data-hits="1" data-linenumber="31">
3722
+ <span class="hits">1</span>
3723
+
3724
+ <code class="ruby"> it &#39;returns false&#39; do</code>
3725
+ </li>
3726
+
3727
+ <li class="covered" data-hits="1" data-linenumber="32">
3728
+ <span class="hits">1</span>
3729
+
3730
+ <code class="ruby"> expect(subject.check_length(empty_name, Menu::MIN_SIZE_VALUE, Menu::MAX_SIZE_VALUE)).to be false</code>
3731
+ </li>
3732
+
3733
+ <li class="never" data-hits="" data-linenumber="33">
3734
+
3735
+
3736
+ <code class="ruby"> end</code>
3737
+ </li>
3738
+
3739
+ <li class="never" data-hits="" data-linenumber="34">
3740
+
3741
+
3742
+ <code class="ruby"> end</code>
3743
+ </li>
3744
+
3745
+ <li class="never" data-hits="" data-linenumber="35">
3746
+
3747
+
3748
+ <code class="ruby"></code>
3749
+ </li>
3750
+
3751
+ <li class="covered" data-hits="1" data-linenumber="36">
3752
+ <span class="hits">1</span>
3753
+
3754
+ <code class="ruby"> context &#39;testing #check_command_range method&#39; do</code>
3755
+ </li>
3756
+
3757
+ <li class="covered" data-hits="1" data-linenumber="37">
3758
+ <span class="hits">1</span>
3759
+
3760
+ <code class="ruby"> it &#39;return true&#39; do</code>
3761
+ </li>
3762
+
3763
+ <li class="covered" data-hits="1" data-linenumber="38">
3764
+ <span class="hits">1</span>
3765
+
3766
+ <code class="ruby"> expect(subject.check_command_range(code_valid.join)).to be_zero</code>
3767
+ </li>
3768
+
3769
+ <li class="never" data-hits="" data-linenumber="39">
3770
+
3771
+
3772
+ <code class="ruby"> end</code>
3773
+ </li>
3774
+
3775
+ <li class="never" data-hits="" data-linenumber="40">
3776
+
3777
+
3778
+ <code class="ruby"></code>
3779
+ </li>
3780
+
3781
+ <li class="covered" data-hits="1" data-linenumber="41">
3782
+ <span class="hits">1</span>
3783
+
3784
+ <code class="ruby"> it &#39;return false&#39; do</code>
3785
+ </li>
3786
+
3787
+ <li class="covered" data-hits="1" data-linenumber="42">
3788
+ <span class="hits">1</span>
3789
+
3790
+ <code class="ruby"> expect(subject.check_command_range(code_unvalid.join)).to be nil</code>
3791
+ </li>
3792
+
3793
+ <li class="never" data-hits="" data-linenumber="43">
3794
+
3795
+
3796
+ <code class="ruby"> end</code>
3797
+ </li>
3798
+
3799
+ <li class="never" data-hits="" data-linenumber="44">
3800
+
3801
+
3802
+ <code class="ruby"> end</code>
3803
+ </li>
3804
+
3805
+ <li class="never" data-hits="" data-linenumber="45">
3806
+
3807
+
3808
+ <code class="ruby">end</code>
3809
+ </li>
3810
+
3811
+ </ol>
3812
+ </pre>
3813
+ </div>
3814
+
3815
+
3816
+ <div class="source_table" id="c6babf3a60909e3726cc4d1b65ee46b0c3fc36bc">
3817
+ <div class="header">
3818
+ <h3>spec/codebreaker_rg_spec.rb</h3>
3819
+ <h4><span class="green">100.0 %</span> covered</h4>
3820
+ <div>
3821
+ <b>3</b> relevant lines.
3822
+ <span class="green"><b>3</b> lines covered</span> and
3823
+ <span class="red"><b>0</b> lines missed.</span>
3824
+ </div>
3825
+ </div>
3826
+
3827
+ <pre>
3828
+ <ol>
3829
+
3830
+ <li class="covered" data-hits="1" data-linenumber="1">
3831
+ <span class="hits">1</span>
3832
+
3833
+ <code class="ruby">RSpec.describe CodebreakerRg do</code>
3834
+ </li>
3835
+
3836
+ <li class="covered" data-hits="1" data-linenumber="2">
3837
+ <span class="hits">1</span>
3838
+
3839
+ <code class="ruby"> it &quot;has a version number&quot; do</code>
3840
+ </li>
3841
+
3842
+ <li class="covered" data-hits="1" data-linenumber="3">
3843
+ <span class="hits">1</span>
3844
+
3845
+ <code class="ruby"> expect(CodebreakerRg::VERSION).not_to be nil</code>
3846
+ </li>
3847
+
3848
+ <li class="never" data-hits="" data-linenumber="4">
3849
+
3850
+
3851
+ <code class="ruby"> end</code>
3852
+ </li>
3853
+
3854
+ <li class="never" data-hits="" data-linenumber="5">
3855
+
3856
+
3857
+ <code class="ruby">end</code>
3858
+ </li>
3859
+
3860
+ </ol>
3861
+ </pre>
3862
+ </div>
3863
+
3864
+
3865
+ </div>
3866
+ </div>
3867
+ </body>
3868
+ </html>