cql 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,65 +0,0 @@
1
- require 'spec_helper'
2
-
3
-
4
- describe "example filters (with)" do
5
-
6
-
7
- it_behaves_like 'a name filterable target set', 'examples', {:exact_name => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/examples/name_filter",
8
- :expected_results => {'name1' => [{"name" => "name1"}]}},
9
- :regexp => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/examples/name_filter",
10
- :expected_results => {/name/ => [{"name" => "name1"}, {"name" => "name2"}, {"name" => "name3"}],
11
- /name1/ => [{"name" => "name1"}]}}
12
- }
13
-
14
- it_behaves_like 'a tag filterable target set', 'examples', {:single_tag => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/examples/filters/tags",
15
- :expected_results => {'@one' => [{'name' => 'Next'}, {'name' => 'Another'}]}},
16
-
17
- :multiple_tags => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/examples/filters/tags2",
18
- :expected_results => {['@one', '@five'] => [{'name' => 'Next'}]}},
19
-
20
- :tc_lt => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/examples/filters/tag_count",
21
- :expected_results => {0 => [],
22
- 1 => [],
23
- 2 => [{"name" => "1 tag"}],
24
- 3 => [{"name" => "1 tag"}, {"name" => "2 tags"}],
25
- 4 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}],
26
- 5 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}]}},
27
-
28
- :tc_lte => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/examples/filters/tag_count",
29
- :expected_results => {0 => [],
30
- 1 => [{"name" => "1 tag"}],
31
- 2 => [{"name" => "1 tag"}, {"name" => "2 tags"}],
32
- 3 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}],
33
- 4 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
34
- 5 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}]}},
35
-
36
- :tc_gt => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/examples/filters/tag_count",
37
- :expected_results => {0 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
38
- 1 => [{"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
39
- 2 => [{"name" => "3 tags"}, {"name" => "4 tags"}],
40
- 3 => [{"name" => "4 tags"}],
41
- 4 => []}},
42
-
43
- :tc_gte => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/examples/filters/tag_count",
44
- :expected_results => {0 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
45
- 1 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
46
- 2 => [{"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
47
- 3 => [{"name" => "3 tags"}, {"name" => "4 tags"}],
48
- 4 => [{"name" => "4 tags"}],
49
- 5 => []}}
50
- }
51
-
52
- it 'should filter by multiple filters' do
53
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/examples/filters/tag_count")
54
-
55
- result = gs.query do
56
- select name
57
- from examples
58
- with tc gt 1
59
- with tc lt 3
60
- end
61
-
62
- expect(result).to eq([{"name" => "2 tags"}])
63
- end
64
-
65
- end
@@ -1,285 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe "feature filters (with)" do
4
- describe 'scenario outline and scenario count functions (ssoc)' do
5
-
6
- it 'should filter based on ssoc_gt' do
7
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/combined/a")
8
-
9
- expected_results = {5 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f2_7_scenarios_2_so"}]}
10
-
11
- expected_results.each do |number, expected|
12
- result = gs.query do
13
- select name
14
- from features
15
- with ssoc gt number
16
- end
17
-
18
- expect(result).to match_array(expected)
19
- end
20
- end
21
-
22
- it 'should filter based on ssoc_gte' do
23
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/combined/a")
24
-
25
- expected_results = {1 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f2_7_scenarios_2_so"}, {"name" => "f3_2_scenarios_3_so"}],
26
- 5 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f2_7_scenarios_2_so"}, {"name" => "f3_2_scenarios_3_so"}],
27
- 9 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f2_7_scenarios_2_so"}],
28
- 10 => []}
29
-
30
- expected_results.each do |number, expected|
31
- result = gs.query do
32
- select name
33
- from features
34
- with ssoc gte number
35
- end
36
-
37
- expect(result).to match_array(expected)
38
- end
39
- end
40
-
41
- it 'should filter based on ssoc_lt' do
42
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/combined/a")
43
-
44
- expected_results = {10 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f2_7_scenarios_2_so"}, {"name" => "f3_2_scenarios_3_so"}],
45
- 9 => [{"name" => "f3_2_scenarios_3_so"}],
46
- 3 => []}
47
-
48
- expected_results.each do |number, expected|
49
- result = gs.query do
50
- select name
51
- from features
52
- with ssoc lt number
53
- end
54
-
55
- expect(result).to match_array(expected)
56
- end
57
- end
58
-
59
- it 'should filter based on ssoc_lte' do
60
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/combined/a")
61
-
62
- expected_results = {10 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f2_7_scenarios_2_so"}, {"name" => "f3_2_scenarios_3_so"}],
63
- 9 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f2_7_scenarios_2_so"}, {"name" => "f3_2_scenarios_3_so"}],
64
- 5 => [{"name" => "f3_2_scenarios_3_so"}],
65
- 4 => []}
66
-
67
- expected_results.each do |number, expected|
68
- result = gs.query do
69
- select name
70
- from features
71
- with ssoc lte number
72
- end
73
-
74
- expect(result).to match_array(expected)
75
- end
76
- end
77
-
78
- end
79
-
80
-
81
- describe 'scenario count functions (sc)' do
82
- it 'should filter based on sc_gt' do
83
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/combined/a")
84
-
85
- expected_results = {2 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f2_7_scenarios_2_so"}]}
86
-
87
- expected_results.each do |number, expected|
88
- result = gs.query do
89
- select name
90
- from features
91
- with sc gt number
92
- end
93
-
94
- expect(result).to match_array(expected)
95
- end
96
- end
97
-
98
- it 'should filter based on sc_gte' do
99
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/combined/a")
100
-
101
- expected_results = {2 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f2_7_scenarios_2_so"}, {"name" => "f3_2_scenarios_3_so"}],
102
- 4 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f2_7_scenarios_2_so"}],
103
- 3 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f2_7_scenarios_2_so"}],
104
- 7 => [{"name" => "f2_7_scenarios_2_so"}]}
105
-
106
- expected_results.each do |number, expected|
107
- result = gs.query do
108
- select name
109
- from features
110
- with sc gte number
111
- end
112
-
113
- expect(result).to match_array(expected)
114
- end
115
- end
116
-
117
- it 'should filter based on sc_lt' do
118
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/combined/a")
119
-
120
- expected_results = {
121
- 7 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f3_2_scenarios_3_so"}],
122
- 5 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f3_2_scenarios_3_so"}],
123
- 4 => [{"name" => "f3_2_scenarios_3_so"}]}
124
-
125
- expected_results.each do |number, expected|
126
- result = gs.query do
127
- select name
128
- from features
129
- with sc lt number
130
- end
131
-
132
- expect(result).to match_array(expected)
133
- end
134
- end
135
-
136
- it 'should filter based on sc_lte' do
137
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/combined/a")
138
-
139
- expected_results = {7 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f2_7_scenarios_2_so"}, {"name" => "f3_2_scenarios_3_so"}],
140
- 5 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f3_2_scenarios_3_so"}],
141
- 4 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f3_2_scenarios_3_so"}]}
142
-
143
- expected_results.each do |number, expected|
144
- result = gs.query do
145
- select name
146
- from features
147
- with sc lte number
148
- end
149
-
150
- expect(result).to match_array(expected)
151
- end
152
- end
153
- end
154
-
155
- it_behaves_like 'a tag filterable target set', 'features', {:single_tag => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/tagged_features",
156
- :expected_results => {'@one' => [{"name" => "Test Feature"}, {"name" => "Test3 Feature"}],
157
- '@two' => [{"name" => "Test2 Feature"}, {"name" => "Test3 Feature"}]}},
158
- :multiple_tags => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/tagged_features",
159
- :expected_results => {['@one', '@two'] => [{"name" => "Test3 Feature"}]}},
160
- :tc_lt => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/combined/b",
161
- :expected_results => {0 => [],
162
- 1 => [],
163
- 2 => [{"name" => "f1_1_tag"}],
164
- 3 => [{"name" => "f1_1_tag"}, {"name" => "f2_2_tags"}],
165
- 4 => [{"name" => "f1_1_tag"}, {"name" => "f2_2_tags"}, {"name" => "f3_3_tags"}],
166
- 5 => [{"name" => "f1_1_tag"}, {"name" => "f2_2_tags"}, {"name" => "f3_3_tags"}]}},
167
- :tc_lte => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/combined/b",
168
- :expected_results => {0 => [],
169
- 1 => [{"name" => "f1_1_tag"}],
170
- 2 => [{"name" => "f1_1_tag"}, {"name" => "f2_2_tags"}],
171
- 3 => [{"name" => "f1_1_tag"}, {"name" => "f2_2_tags"}, {"name" => "f3_3_tags"}],
172
- 4 => [{"name" => "f1_1_tag"}, {"name" => "f2_2_tags"}, {"name" => "f3_3_tags"}]}},
173
- :tc_gt => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/combined/b",
174
- :expected_results => {0 => [{"name" => "f1_1_tag"}, {"name" => "f2_2_tags"}, {"name" => "f3_3_tags"}],
175
- 1 => [{"name" => "f2_2_tags"}, {"name" => "f3_3_tags"}],
176
- 2 => [{"name" => "f3_3_tags"}],
177
- 3 => [],
178
- 4 => []}},
179
- :tc_gte => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/combined/b",
180
- :expected_results => {0 => [{"name" => "f1_1_tag"}, {"name" => "f2_2_tags"}, {"name" => "f3_3_tags"}],
181
- 1 => [{"name" => "f1_1_tag"}, {"name" => "f2_2_tags"}, {"name" => "f3_3_tags"}],
182
- 2 => [{"name" => "f2_2_tags"}, {"name" => "f3_3_tags"}],
183
- 3 => [{"name" => "f3_3_tags"}],
184
- 4 => [],
185
- 5 => []}}
186
- }
187
-
188
- describe 'scenario outline count functions (soc)' do
189
- it 'should filter based on soc_gt' do
190
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/combined/a")
191
-
192
- expected_results = {2 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f3_2_scenarios_3_so"}],
193
- 5 => []}
194
-
195
- expected_results.each do |number, expected|
196
- result = gs.query do
197
- select name
198
- from features
199
- with soc gt number
200
- end
201
-
202
- expect(result).to match_array(expected)
203
- end
204
- end
205
-
206
- it 'should filter based on soc_gte' do
207
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/combined/a")
208
-
209
- expected_results = {2 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f2_7_scenarios_2_so"}, {"name" => "f3_2_scenarios_3_so"}],
210
- 3 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f3_2_scenarios_3_so"}],
211
- 4 => [{"name" => "f1_4_scenarios_5_so"}],
212
- 7 => []}
213
-
214
- expected_results.each do |number, expected|
215
- result = gs.query do
216
- select name
217
- from features
218
- with soc gte number
219
- end
220
-
221
- expect(result).to match_array(expected)
222
- end
223
- end
224
-
225
- it 'should filter based on soc_lt' do
226
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/combined/a")
227
-
228
- expected_results = {7 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f2_7_scenarios_2_so"}, {"name" => "f3_2_scenarios_3_so"}],
229
- 5 => [{"name" => "f2_7_scenarios_2_so"}, {"name" => "f3_2_scenarios_3_so"}],
230
- 4 => [{"name" => "f2_7_scenarios_2_so"}, {"name" => "f3_2_scenarios_3_so"}]}
231
-
232
-
233
- expected_results.each do |number, expected|
234
- result = gs.query do
235
- select name
236
- from features
237
- with soc lt number
238
- end
239
-
240
- expect(result).to match_array(expected)
241
- end
242
- end
243
-
244
- it 'should filter based on soc_lte' do
245
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/combined/a")
246
-
247
- expected_results = {7 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f2_7_scenarios_2_so"}, {"name" => "f3_2_scenarios_3_so"}],
248
- 5 => [{"name" => "f1_4_scenarios_5_so"}, {"name" => "f2_7_scenarios_2_so"}, {"name" => "f3_2_scenarios_3_so"}],
249
- 4 => [{"name" => "f2_7_scenarios_2_so"}, {"name" => "f3_2_scenarios_3_so"}]}
250
-
251
-
252
- expected_results.each do |number, expected|
253
- result = gs.query do
254
- select name
255
- from features
256
- with soc lte number
257
- end
258
-
259
- expect(result).to match_array(expected)
260
- end
261
- end
262
- end
263
-
264
- it_behaves_like 'a name filterable target set', 'features', {:exact_name => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/tagged_features",
265
- :expected_results => {'Test2 Feature' => [{"name" => "Test2 Feature"}]}},
266
- :regexp => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/tagged_features",
267
- :expected_results => {/Test2 Feature/ => [{"name" => "Test2 Feature"}],
268
- /Feature/ => [{"name" => "Test Feature"}, {"name" => "Test2 Feature"}, {"name" => "Test3 Feature"}]}}
269
- }
270
-
271
-
272
- it 'should filter by multiple filters' do
273
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/tagged_features")
274
-
275
- result = gs.query do
276
- select name
277
- from features
278
- with tags '@two'
279
- with tags '@one'
280
- end
281
-
282
- expect(result).to eq([{"name" => "Test3 Feature"}])
283
- end
284
-
285
- end
@@ -1,201 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe "scenario and outline filters (with)" do
4
-
5
-
6
- it_behaves_like 'a name filterable target set', 'scenarios', {:exact_name => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/name_filter",
7
- :expected_results => {'name1' => [{"name" => "name1"}]}},
8
- :regexp => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/name_filter",
9
- :expected_results => {/name/ => [{"name" => "name1"}, {"name" => "name2"}, {"name" => "name3"}],
10
- /name1/ => [{"name" => "name1"}]}}
11
- }
12
-
13
- it_behaves_like 'a tag filterable target set', 'scenarios', {:single_tag => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/tags",
14
- :expected_results => {'@one' => [{'name' => 'Next'}, {'name' => 'Another'}]}},
15
-
16
- :multiple_tags => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/tags2",
17
- :expected_results => {['@one', '@five'] => [{'name' => 'Next'}]}},
18
-
19
- :tc_lt => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/tag_count",
20
- :expected_results => {0 => [],
21
- 1 => [],
22
- 2 => [{"name" => "1 tag"}],
23
- 3 => [{"name" => "1 tag"}, {"name" => "2 tags"}],
24
- 4 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}],
25
- 5 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}]}},
26
-
27
- :tc_lte => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/tag_count",
28
- :expected_results => {0 => [],
29
- 1 => [{"name" => "1 tag"}],
30
- 2 => [{"name" => "1 tag"}, {"name" => "2 tags"}],
31
- 3 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}],
32
- 4 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
33
- 5 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}]}},
34
-
35
- :tc_gt => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/tag_count",
36
- :expected_results => {0 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
37
- 1 => [{"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
38
- 2 => [{"name" => "3 tags"}, {"name" => "4 tags"}],
39
- 3 => [{"name" => "4 tags"}],
40
- 4 => []}},
41
-
42
- :tc_gte => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/tag_count",
43
- :expected_results => {0 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
44
- 1 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
45
- 2 => [{"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
46
- 3 => [{"name" => "3 tags"}, {"name" => "4 tags"}],
47
- 4 => [{"name" => "4 tags"}],
48
- 5 => []}}
49
- }
50
-
51
- it_behaves_like 'a tag filterable target set', 'outlines', {:single_tag => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/filters/tags",
52
- :expected_results => {'@one' => [{'name' => 'Next'}, {'name' => 'Another'}]}},
53
-
54
- :multiple_tags => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/filters/tags2",
55
- :expected_results => {['@one', '@five'] => [{'name' => 'Next'}]}},
56
-
57
- :tc_lt => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/filters/tag_count",
58
- :expected_results => {0 => [],
59
- 1 => [],
60
- 2 => [{"name" => "1 tag"}],
61
- 3 => [{"name" => "1 tag"}, {"name" => "2 tags"}],
62
- 4 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}],
63
- 5 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}]}},
64
-
65
- :tc_lte => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/filters/tag_count",
66
- :expected_results => {0 => [],
67
- 1 => [{"name" => "1 tag"}],
68
- 2 => [{"name" => "1 tag"}, {"name" => "2 tags"}],
69
- 3 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}],
70
- 4 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
71
- 5 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}]}},
72
-
73
- :tc_gt => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/filters/tag_count",
74
- :expected_results => {0 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
75
- 1 => [{"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
76
- 2 => [{"name" => "3 tags"}, {"name" => "4 tags"}],
77
- 3 => [{"name" => "4 tags"}],
78
- 4 => []}},
79
-
80
- :tc_gte => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/filters/tag_count",
81
- :expected_results => {0 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
82
- 1 => [{"name" => "1 tag"}, {"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
83
- 2 => [{"name" => "2 tags"}, {"name" => "3 tags"}, {"name" => "4 tags"}],
84
- 3 => [{"name" => "3 tags"}, {"name" => "4 tags"}],
85
- 4 => [{"name" => "4 tags"}],
86
- 5 => []}}
87
- }
88
-
89
- it_behaves_like 'a line count filterable target set', 'scenarios', {:lc_lt => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/line_count",
90
- :expected_results => {0 => [],
91
- 1 => [],
92
- 2 => [{"name" => "1 line"}],
93
- 3 => [{"name" => "1 line"}, {"name" => "2 lines"}],
94
- 4 => [{"name" => "1 line"}, {"name" => "2 lines"}, {"name" => "3 lines"}],
95
- 5 => [{"name" => "1 line"}, {"name" => "2 lines"}, {"name" => "3 lines"}, {"name" => "4 lines"}]}},
96
- :lc_lte => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/line_count",
97
- :expected_results => {0 => [],
98
- 1 => [{"name" => "1 line"}],
99
- 2 => [{"name" => "1 line"}, {"name" => "2 lines"}],
100
- 3 => [{"name" => "1 line"}, {"name" => "2 lines"}, {"name" => "3 lines"}],
101
- 4 => [{"name" => "1 line"}, {"name" => "2 lines"}, {"name" => "3 lines"}, {"name" => "4 lines"}],
102
- 5 => [{"name" => "1 line"}, {"name" => "2 lines"}, {"name" => "3 lines"}, {"name" => "4 lines"}]}},
103
- :lc_gt => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/line_count",
104
- :expected_results => {0 => [{"name" => "1 line"}, {"name" => "2 lines"}, {"name" => "3 lines"}, {"name" => "4 lines"}],
105
- 1 => [{"name" => "2 lines"}, {"name" => "3 lines"}, {"name" => "4 lines"}],
106
- 2 => [{"name" => "3 lines"}, {"name" => "4 lines"}],
107
- 3 => [{"name" => "4 lines"}],
108
- 4 => []}},
109
- :lc_gte => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/line_count",
110
- :expected_results => {0 => [{"name" => "1 line"}, {"name" => "2 lines"}, {"name" => "3 lines"}, {"name" => "4 lines"}],
111
- 1 => [{"name" => "1 line"}, {"name" => "2 lines"}, {"name" => "3 lines"}, {"name" => "4 lines"}],
112
- 2 => [{"name" => "2 lines"}, {"name" => "3 lines"}, {"name" => "4 lines"}],
113
- 3 => [{"name" => "3 lines"}, {"name" => "4 lines"}],
114
- 4 => [{"name" => "4 lines"}],
115
- 5 => []}}}
116
-
117
-
118
- it_behaves_like 'a line filterable target set', 'scenarios', {:exact_line => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/line_filter",
119
- :expected_results => {'all match' => [{"name" => "sc1"}, {"name" => "sc2"}],
120
- 'green eggs and ham' => [{"name" => "sc1"}],
121
- 'no match' => []}},
122
- :regexp => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scenario/line_filter",
123
- :expected_results => {/all/ => [{"name" => "sc1"}, {"name" => "sc2"}],
124
- /green/ => [{"name" => "sc1"}],
125
- /will not be found/ => []}}}
126
-
127
- it 'should filter by multiple filters' do
128
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/scenario/tag_count")
129
-
130
- result = gs.query do
131
- select name
132
- from scenarios
133
- with tc gt 1
134
- with tc lt 3
135
- end
136
-
137
- expect(result).to eq([{"name" => "2 tags"}])
138
- end
139
-
140
- it 'should filter by multiple filters' do
141
- gs = CQL::Repository.new("#{@feature_fixtures_directory}/scen_outlines/filters/tag_count")
142
-
143
- result = gs.query do
144
- select name
145
- from outlines
146
- with tc gt 1
147
- with tc lt 3
148
- end
149
-
150
- expect(result).to eq([{"name" => "2 tags"}])
151
- end
152
-
153
-
154
- it_behaves_like 'a line count filterable target set', 'outlines', {:lc_lt => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/line_count",
155
- :expected_results => {0 => [],
156
- 1 => [],
157
- 2 => [{"name" => "1 line"}],
158
- 3 => [{"name" => "1 line"}, {"name" => "2 lines"}],
159
- 4 => [{"name" => "1 line"}, {"name" => "2 lines"}, {"name" => "3 lines"}],
160
- 5 => [{"name" => "1 line"}, {"name" => "2 lines"}, {"name" => "3 lines"}, {"name" => "4 lines"}]}},
161
- :lc_lte => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/line_count",
162
- :expected_results => {0 => [],
163
- 1 => [{"name" => "1 line"}],
164
- 2 => [{"name" => "1 line"}, {"name" => "2 lines"}],
165
- 3 => [{"name" => "1 line"}, {"name" => "2 lines"}, {"name" => "3 lines"}],
166
- 4 => [{"name" => "1 line"}, {"name" => "2 lines"}, {"name" => "3 lines"}, {"name" => "4 lines"}],
167
- 5 => [{"name" => "1 line"}, {"name" => "2 lines"}, {"name" => "3 lines"}, {"name" => "4 lines"}]}},
168
- :lc_gt => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/line_count",
169
- :expected_results => {0 => [{"name" => "1 line"}, {"name" => "2 lines"}, {"name" => "3 lines"}, {"name" => "4 lines"}],
170
- 1 => [{"name" => "2 lines"}, {"name" => "3 lines"}, {"name" => "4 lines"}],
171
- 2 => [{"name" => "3 lines"}, {"name" => "4 lines"}],
172
- 3 => [{"name" => "4 lines"}],
173
- 4 => []}},
174
- :lc_gte => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/line_count",
175
- :expected_results => {0 => [{"name" => "1 line"}, {"name" => "2 lines"}, {"name" => "3 lines"}, {"name" => "4 lines"}],
176
- 1 => [{"name" => "1 line"}, {"name" => "2 lines"}, {"name" => "3 lines"}, {"name" => "4 lines"}],
177
- 2 => [{"name" => "2 lines"}, {"name" => "3 lines"}, {"name" => "4 lines"}],
178
- 3 => [{"name" => "3 lines"}, {"name" => "4 lines"}],
179
- 4 => [{"name" => "4 lines"}],
180
- 5 => []}}}
181
-
182
-
183
- it_behaves_like 'a line filterable target set', 'outlines', {:exact_line => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/line_filter",
184
- :expected_results => {'all match' => [{"name" => "sc1"}, {"name" => "sc2"}],
185
- 'green eggs and ham' => [{"name" => "sc1"}],
186
- 'no match' => []}},
187
- :regexp => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/line_filter",
188
- :expected_results => {/all/ => [{"name" => "sc1"}, {"name" => "sc2"}],
189
- /green/ => [{"name" => "sc1"}],
190
- /will not be found/ => []}}}
191
-
192
-
193
- it_behaves_like 'a name filterable target set', 'outlines', {:exact_name => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/name_filter",
194
- :expected_results => {'name1' => [{"name" => "name1"}]}},
195
- :regexp => {:fixture_location => "#{CQL_FEATURE_FIXTURES_DIRECTORY}/scen_outlines/name_filter",
196
- :expected_results => {/name/ => [{"name" => "name1"}, {"name" => "name2"}, {"name" => "name3"}],
197
- /name1/ => [{"name" => "name1"}]}}
198
- }
199
-
200
- # # Example count
201
- end