Skip to content

Commit f481c6f

Browse files
authored
Add missing 170 tests (#133)
1 parent 69fa1fd commit f481c6f

File tree

1 file changed

+304
-1
lines changed

1 file changed

+304
-1
lines changed

Test/SqlDom/Only170SyntaxTests.cs

Lines changed: 304 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public partial class SqlDomTests
99
// Note: These filenames are case sensitive, make sure they match the checked-in file exactly
1010
private static readonly ParserTest[] Only170TestInfos =
1111
{
12-
new ParserTest170("RegexpTVFTests170.sql", nErrors80: 0, nErrors90: 0, nErrors100: 0, nErrors110: 0, nErrors120: 0, nErrors130: 0, nErrors140: 0, nErrors150: 0, nErrors160: 0)
12+
new ParserTest170("RegexpTVFTests170.sql", nErrors80: 1, nErrors90: 1, nErrors100: 0, nErrors110: 0, nErrors120: 0, nErrors130: 0, nErrors140: 0, nErrors150: 0, nErrors160: 0)
1313
};
1414

1515
private static readonly ParserTest[] SqlAzure170_TestInfos =
@@ -19,6 +19,43 @@ public partial class SqlDomTests
1919
//
2020
};
2121

22+
/// <summary>
23+
/// This test runs only the graph syntax tests.
24+
/// </summary>
25+
[TestMethod]
26+
[Priority(0)]
27+
[SqlStudioTestCategory(Category.UnitTest)]
28+
public void GraphTSql170SyntaxParserTest()
29+
{
30+
TSql170Parser parser = new TSql170Parser(true);
31+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql170);
32+
foreach (ParserTest ti in GraphTestsOnly)
33+
{
34+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result170);
35+
}
36+
37+
// Parsing both for Azure and standalone flavors - explicitly set
38+
// enum value to 'All'
39+
//
40+
parser = new TSql170Parser(true, SqlEngineType.All);
41+
scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql170);
42+
scriptGen.Options.SqlEngineType = SqlEngineType.All;
43+
foreach (ParserTest ti in GraphTestsOnly)
44+
{
45+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result170);
46+
}
47+
48+
// Explicitly ask for 'standalone' and parse
49+
//
50+
parser = new TSql170Parser(true, SqlEngineType.Standalone);
51+
scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql170);
52+
scriptGen.Options.SqlEngineType = SqlEngineType.Standalone;
53+
foreach (ParserTest ti in GraphTestsOnly)
54+
{
55+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result170);
56+
}
57+
}
58+
2259
[TestMethod]
2360
[Priority(0)]
2461
[SqlStudioTestCategory(Category.UnitTest)]
@@ -55,5 +92,271 @@ public void TSql170SyntaxIn170ParserTest()
5592
}
5693
}
5794

95+
[TestMethod]
96+
[Priority(0)]
97+
[SqlStudioTestCategory(Category.UnitTest)]
98+
public void TSql170Azure_SyntaxIn170ParserTest()
99+
{
100+
// This test checks that Azure-specific syntax constructs are successfully parsed
101+
// with Sql170 parser pointed to Sql Azure.
102+
//
103+
TSql170Parser parser = new TSql170Parser(true, SqlEngineType.SqlAzure);
104+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql170);
105+
scriptGen.Options.SqlEngineType = SqlEngineType.SqlAzure;
106+
foreach (ParserTest ti in SqlAzure170_TestInfos)
107+
{
108+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result170);
109+
}
110+
}
111+
112+
[TestMethod]
113+
[Priority(0)]
114+
[SqlStudioTestCategory(Category.UnitTest)]
115+
public void TSql170SyntaxIn160ParserTest()
116+
{
117+
TSql150Parser parser = new TSql150Parser(true);
118+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql160);
119+
System.Collections.Generic.List<ParserTest> all170ParserTests = new System.Collections.Generic.List<ParserTest>();
120+
all170ParserTests.AddRange(Only170TestInfos);
121+
all170ParserTests.AddRange(SqlAzure170_TestInfos);
122+
123+
foreach (ParserTest ti in all170ParserTests)
124+
{
125+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result160);
126+
}
127+
}
128+
129+
[TestMethod]
130+
[Priority(0)]
131+
[SqlStudioTestCategory(Category.UnitTest)]
132+
public void TSql170SyntaxIn150ParserTest()
133+
{
134+
TSql150Parser parser = new TSql150Parser(true);
135+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql150);
136+
System.Collections.Generic.List<ParserTest> all170ParserTests = new System.Collections.Generic.List<ParserTest>();
137+
all170ParserTests.AddRange(Only170TestInfos);
138+
all170ParserTests.AddRange(SqlAzure170_TestInfos);
139+
140+
foreach (ParserTest ti in all170ParserTests)
141+
{
142+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result150);
143+
}
144+
}
145+
146+
[TestMethod]
147+
[Priority(0)]
148+
[SqlStudioTestCategory(Category.UnitTest)]
149+
public void TSql170SyntaxIn140ParserTest()
150+
{
151+
TSql140Parser parser = new TSql140Parser(true);
152+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql140);
153+
System.Collections.Generic.List<ParserTest> all170ParserTests = new System.Collections.Generic.List<ParserTest>();
154+
all170ParserTests.AddRange(Only170TestInfos);
155+
all170ParserTests.AddRange(SqlAzure170_TestInfos);
156+
157+
foreach (ParserTest ti in all170ParserTests)
158+
{
159+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result140);
160+
}
161+
}
162+
163+
[TestMethod]
164+
[Priority(0)]
165+
[SqlStudioTestCategory(Category.UnitTest)]
166+
public void TSql170SyntaxIn130ParserTest()
167+
{
168+
TSql130Parser parser = new TSql130Parser(true);
169+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql130);
170+
System.Collections.Generic.List<ParserTest> all170ParserTests = new System.Collections.Generic.List<ParserTest>();
171+
all170ParserTests.AddRange(Only170TestInfos);
172+
all170ParserTests.AddRange(SqlAzure170_TestInfos);
173+
174+
foreach (ParserTest ti in all170ParserTests)
175+
{
176+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result130);
177+
}
178+
}
179+
180+
[TestMethod]
181+
[Priority(0)]
182+
[SqlStudioTestCategory(Category.UnitTest)]
183+
public void TSql170SyntaxIn120ParserTest()
184+
{
185+
TSql120Parser parser = new TSql120Parser(true);
186+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql120);
187+
System.Collections.Generic.List<ParserTest> all170ParserTests = new System.Collections.Generic.List<ParserTest>();
188+
all170ParserTests.AddRange(Only170TestInfos);
189+
all170ParserTests.AddRange(SqlAzure170_TestInfos);
190+
191+
foreach (ParserTest ti in all170ParserTests)
192+
{
193+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result120);
194+
}
195+
}
196+
197+
[TestMethod]
198+
[Priority(0)]
199+
[SqlStudioTestCategory(Category.UnitTest)]
200+
public void TSql170SyntaxIn110ParserTest()
201+
{
202+
TSql110Parser parser = new TSql110Parser(true);
203+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql110);
204+
System.Collections.Generic.List<ParserTest> all170ParserTests = new System.Collections.Generic.List<ParserTest>();
205+
all170ParserTests.AddRange(Only170TestInfos);
206+
all170ParserTests.AddRange(SqlAzure170_TestInfos);
207+
208+
foreach (ParserTest ti in all170ParserTests)
209+
{
210+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result110);
211+
}
212+
}
213+
214+
[TestMethod]
215+
[Priority(0)]
216+
[SqlStudioTestCategory(Category.UnitTest)]
217+
public void TSql170SyntaxIn100ParserTest()
218+
{
219+
TSql100Parser parser = new TSql100Parser(true);
220+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql100);
221+
System.Collections.Generic.List<ParserTest> all170ParserTests = new System.Collections.Generic.List<ParserTest>();
222+
all170ParserTests.AddRange(Only170TestInfos);
223+
all170ParserTests.AddRange(SqlAzure170_TestInfos);
224+
225+
foreach (ParserTest ti in all170ParserTests)
226+
{
227+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result100);
228+
}
229+
}
230+
231+
[TestMethod]
232+
[Priority(0)]
233+
[SqlStudioTestCategory(Category.UnitTest)]
234+
public void TSql170SyntaxIn90ParserTest()
235+
{
236+
TSql90Parser parser = new TSql90Parser(true);
237+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql90);
238+
System.Collections.Generic.List<ParserTest> all170ParserTests = new System.Collections.Generic.List<ParserTest>();
239+
all170ParserTests.AddRange(Only170TestInfos);
240+
all170ParserTests.AddRange(SqlAzure170_TestInfos);
241+
242+
foreach (ParserTest ti in all170ParserTests)
243+
{
244+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result90);
245+
}
246+
}
247+
248+
[TestMethod]
249+
[Priority(0)]
250+
[SqlStudioTestCategory(Category.UnitTest)]
251+
public void TSql170SyntaxIn80ParserTest()
252+
{
253+
TSql80Parser parser = new TSql80Parser(true);
254+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql80);
255+
System.Collections.Generic.List<ParserTest> all170ParserTests = new System.Collections.Generic.List<ParserTest>();
256+
all170ParserTests.AddRange(Only170TestInfos);
257+
all170ParserTests.AddRange(SqlAzure170_TestInfos);
258+
259+
foreach (ParserTest ti in all170ParserTests)
260+
{
261+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result80);
262+
}
263+
}
264+
265+
/// <summary>
266+
/// Let's make sure the older syntax tests still pass in the new parser
267+
/// </summary>
268+
[TestMethod]
269+
[Priority(0)]
270+
[SqlStudioTestCategory(Category.UnitTest)]
271+
public void TSql160SyntaxIn170ParserTest()
272+
{
273+
TSql170Parser parser = new TSql170Parser(true, SqlEngineType.Standalone);
274+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql160);
275+
foreach (ParserTest ti in Only140TestInfos)
276+
{
277+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result160);
278+
}
279+
}
280+
281+
[TestMethod]
282+
[Priority(0)]
283+
[SqlStudioTestCategory(Category.UnitTest)]
284+
public void TSql150SyntaxIn170ParserTest()
285+
{
286+
TSql170Parser parser = new TSql170Parser(true, SqlEngineType.Standalone);
287+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql150);
288+
foreach (ParserTest ti in Only140TestInfos)
289+
{
290+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result150);
291+
}
292+
}
293+
294+
[TestMethod]
295+
[Priority(0)]
296+
[SqlStudioTestCategory(Category.UnitTest)]
297+
public void TSql140SyntaxIn170ParserTest()
298+
{
299+
TSql170Parser parser = new TSql170Parser(true, SqlEngineType.Standalone);
300+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql140);
301+
foreach (ParserTest ti in Only140TestInfos)
302+
{
303+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result140);
304+
}
305+
}
306+
307+
/// <summary>
308+
/// Let's make sure the older syntax tests still pass in the new parser
309+
/// </summary>
310+
[TestMethod]
311+
[Priority(0)]
312+
[SqlStudioTestCategory(Category.UnitTest)]
313+
public void TSql130SyntaxIn170ParserTest()
314+
{
315+
TSql170Parser parser = new TSql170Parser(true, SqlEngineType.Standalone);
316+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql130);
317+
foreach (ParserTest ti in Only130TestInfos)
318+
{
319+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result130);
320+
}
321+
}
322+
323+
[TestMethod]
324+
[Priority(0)]
325+
[SqlStudioTestCategory(Category.UnitTest)]
326+
public void TSql120SyntaxIn170ParserTest()
327+
{
328+
TSql170Parser parser = new TSql170Parser(true);
329+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql120);
330+
foreach (ParserTest ti in Only120TestInfos)
331+
{
332+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result120);
333+
}
334+
}
335+
336+
[TestMethod]
337+
[Priority(0)]
338+
[SqlStudioTestCategory(Category.UnitTest)]
339+
public void TSql110SyntaxIn170ParserTest()
340+
{
341+
TSql170Parser parser = new TSql170Parser(true);
342+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql110);
343+
foreach (ParserTest ti in Only110TestInfos)
344+
{
345+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result110);
346+
}
347+
}
348+
349+
[TestMethod]
350+
[Priority(0)]
351+
[SqlStudioTestCategory(Category.UnitTest)]
352+
public void TSql100SyntaxIn170ParserTest()
353+
{
354+
TSql170Parser parser = new TSql170Parser(true);
355+
SqlScriptGenerator scriptGen = ParserTestUtils.CreateScriptGen(SqlVersion.Sql100);
356+
foreach (ParserTest ti in Only100TestInfos)
357+
{
358+
ParserTest.ParseAndVerify(parser, scriptGen, ti._scriptFilename, ti._result100);
359+
}
360+
}
58361
}
59362
}

0 commit comments

Comments
 (0)