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