cql 1.2.0 → 1.2.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.
@@ -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