codebreaker_rg 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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>