Skip to content

Commit c6bc4c3

Browse files
committed
refactored some test utility methods out into a new class
1 parent aebe814 commit c6bc4c3

File tree

8 files changed

+70
-92
lines changed

8 files changed

+70
-92
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
/*
2+
* Copyright (C) 2013 JSQLParser.
3+
*
4+
* This library is free software; you can redistribute it and/or
5+
* modify it under the terms of the GNU Lesser General Public
6+
* License as published by the Free Software Foundation; either
7+
* version 2.1 of the License, or (at your option) any later version.
8+
*
9+
* This library is distributed in the hope that it will be useful,
10+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12+
* Lesser General Public License for more details.
13+
*
14+
* You should have received a copy of the GNU Lesser General Public
15+
* License along with this library; if not, write to the Free Software
16+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
17+
* MA 02110-1301 USA
18+
*/
19+
package net.sf.jsqlparser.test;
20+
21+
import java.io.StringReader;
22+
import static junit.framework.Assert.assertEquals;
23+
import net.sf.jsqlparser.JSQLParserException;
24+
import net.sf.jsqlparser.expression.Expression;
25+
import net.sf.jsqlparser.parser.CCJSqlParserUtil;
26+
import net.sf.jsqlparser.statement.Statement;
27+
import net.sf.jsqlparser.util.deparser.ExpressionDeParser;
28+
import net.sf.jsqlparser.util.deparser.SelectDeParser;
29+
import net.sf.jsqlparser.util.deparser.StatementDeParser;
30+
31+
/**
32+
*
33+
* @author toben
34+
*/
35+
public class TestUtils {
36+
public static void assertSqlCanBeParsedAndDeparsed(String statement) throws JSQLParserException {
37+
Statement parsed = CCJSqlParserUtil.parse(new StringReader(statement));
38+
assertStatementCanBeDeparsedAs(parsed, statement);
39+
}
40+
41+
public static void assertStatementCanBeDeparsedAs(Statement parsed, String statement) {
42+
assertEquals(statement, parsed.toString());
43+
44+
StatementDeParser deParser = new StatementDeParser(new StringBuilder());
45+
parsed.accept(deParser);
46+
assertEquals(statement, deParser.getBuffer().toString());
47+
}
48+
49+
public static void assertExpressionCanBeDeparsedAs(final Expression parsed, String expression) {
50+
ExpressionDeParser expressionDeParser = new ExpressionDeParser();
51+
StringBuilder stringBuffer = new StringBuilder();
52+
expressionDeParser.setBuffer(stringBuffer);
53+
SelectDeParser selectDeParser = new SelectDeParser(expressionDeParser, stringBuffer);
54+
expressionDeParser.setSelectVisitor(selectDeParser);
55+
parsed.accept(expressionDeParser);
56+
57+
assertEquals(expression, stringBuffer.toString());
58+
}
59+
}

src/test/java/net/sf/jsqlparser/test/create/CreateIndexTest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import net.sf.jsqlparser.JSQLParserException;
77
import net.sf.jsqlparser.parser.CCJSqlParserManager;
88
import net.sf.jsqlparser.statement.create.index.CreateIndex;
9-
9+
import static net.sf.jsqlparser.test.TestUtils.*;
1010

1111
/**
1212
* @author Raymond Augé
@@ -76,4 +76,8 @@ public void testCreateIndex5() throws JSQLParserException {
7676
assertEquals("mycol3", createIndex.getIndex().getColumnsNames().get(2));
7777
}
7878

79+
public void testCreateIndex6() throws JSQLParserException {
80+
String stmt= "CREATE INDEX myindex ON mytab (mycol, mycol2)";
81+
assertSqlCanBeParsedAndDeparsed(stmt);
82+
}
7983
}

src/test/java/net/sf/jsqlparser/test/create/CreateTableTest.java

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import net.sf.jsqlparser.test.TestException;
1919
import net.sf.jsqlparser.util.TablesNamesFinder;
2020
import net.sf.jsqlparser.util.deparser.StatementDeParser;
21+
import static net.sf.jsqlparser.test.TestUtils.*;
2122

2223
public class CreateTableTest extends TestCase {
2324

@@ -174,17 +175,4 @@ private String getLine(BufferedReader in) throws Exception {
174175

175176
return line;
176177
}
177-
178-
private void assertSqlCanBeParsedAndDeparsed(String statement) throws JSQLParserException {
179-
Statement parsed = parserManager.parse(new StringReader(statement));
180-
assertStatementCanBeDeparsedAs(parsed, statement);
181-
}
182-
183-
private void assertStatementCanBeDeparsedAs(Statement parsed, String statement) {
184-
assertEquals(statement, parsed.toString());
185-
186-
StatementDeParser deParser = new StatementDeParser(new StringBuilder());
187-
parsed.accept(deParser);
188-
assertEquals(statement, deParser.getBuffer().toString());
189-
}
190178
}

src/test/java/net/sf/jsqlparser/test/create/CreateViewTest.java

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import net.sf.jsqlparser.statement.create.view.CreateView;
1313
import net.sf.jsqlparser.statement.select.PlainSelect;
1414
import net.sf.jsqlparser.util.deparser.StatementDeParser;
15+
import static net.sf.jsqlparser.test.TestUtils.*;
1516

1617
public class CreateViewTest extends TestCase {
1718

@@ -69,17 +70,4 @@ public void testCreateMaterializedView() throws JSQLParserException {
6970
String stmt = "CREATE MATERIALIZED VIEW view1 AS SELECT a, b FROM testtab";
7071
assertSqlCanBeParsedAndDeparsed(stmt);
7172
}
72-
73-
private void assertSqlCanBeParsedAndDeparsed(String statement) throws JSQLParserException {
74-
Statement parsed = parserManager.parse(new StringReader(statement));
75-
assertStatementCanBeDeparsedAs(parsed, statement);
76-
}
77-
78-
private void assertStatementCanBeDeparsedAs(Statement parsed, String statement) {
79-
assertEquals(statement, parsed.toString());
80-
81-
StatementDeParser deParser = new StatementDeParser(new StringBuilder());
82-
parsed.accept(deParser);
83-
assertEquals(statement, deParser.getBuffer().toString());
84-
}
8573
}

src/test/java/net/sf/jsqlparser/test/delete/DeleteTest.java

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@
66
import junit.framework.TestCase;
77
import net.sf.jsqlparser.JSQLParserException;
88
import net.sf.jsqlparser.parser.CCJSqlParserManager;
9-
import net.sf.jsqlparser.statement.Statement;
109
import net.sf.jsqlparser.statement.delete.Delete;
11-
import net.sf.jsqlparser.util.deparser.StatementDeParser;
10+
import static net.sf.jsqlparser.test.TestUtils.*;
1211

1312
public class DeleteTest extends TestCase {
1413

@@ -30,17 +29,4 @@ public void testDeleteWhereProblem1() throws JSQLParserException {
3029
String stmt = "DELETE FROM tablename WHERE a = 1 AND b = 1";
3130
assertSqlCanBeParsedAndDeparsed(stmt);
3231
}
33-
34-
private void assertSqlCanBeParsedAndDeparsed(String statement) throws JSQLParserException {
35-
Statement parsed = parserManager.parse(new StringReader(statement));
36-
assertStatementCanBeDeparsedAs(parsed, statement);
37-
}
38-
39-
private void assertStatementCanBeDeparsedAs(Statement parsed, String statement) {
40-
assertEquals(statement, parsed.toString());
41-
42-
StatementDeParser deParser = new StatementDeParser(new StringBuilder());
43-
parsed.accept(deParser);
44-
assertEquals(statement, deParser.getBuffer().toString());
45-
}
4632
}

src/test/java/net/sf/jsqlparser/test/insert/InsertTest.java

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import net.sf.jsqlparser.statement.select.PlainSelect;
1919
import net.sf.jsqlparser.statement.select.SubSelect;
2020
import net.sf.jsqlparser.util.deparser.StatementDeParser;
21+
import static net.sf.jsqlparser.test.TestUtils.*;
2122

2223
public class InsertTest extends TestCase {
2324

@@ -94,17 +95,4 @@ public void testInsertMultiRowValueDifferent() throws JSQLParserException {
9495

9596
fail("should not work");
9697
}
97-
98-
private void assertSqlCanBeParsedAndDeparsed(String statement) throws JSQLParserException {
99-
Statement parsed = parserManager.parse(new StringReader(statement));
100-
assertStatementCanBeDeparsedAs(parsed, statement);
101-
}
102-
103-
private void assertStatementCanBeDeparsedAs(Statement parsed, String statement) {
104-
assertEquals(statement, parsed.toString());
105-
106-
StatementDeParser deParser = new StatementDeParser(new StringBuilder());
107-
parsed.accept(deParser);
108-
assertEquals(statement, deParser.getBuffer().toString());
109-
}
11098
}

src/test/java/net/sf/jsqlparser/test/select/SelectTest.java

Lines changed: 1 addition & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import net.sf.jsqlparser.util.deparser.SelectDeParser;
3535
import net.sf.jsqlparser.util.deparser.StatementDeParser;
3636
import org.apache.commons.io.IOUtils;
37+
import static net.sf.jsqlparser.test.TestUtils.*;
3738

3839
public class SelectTest extends TestCase {
3940

@@ -951,28 +952,4 @@ public void testValues6BothVariants() throws JSQLParserException {
951952
String stmt = "SELECT I FROM (VALUES 1, 2, 3) AS MY_TEMP_TABLE(I) WHERE I IN (SELECT * FROM (VALUES 1, 2) AS TEST)";
952953
assertSqlCanBeParsedAndDeparsed(stmt);
953954
}
954-
955-
private void assertSqlCanBeParsedAndDeparsed(String statement) throws JSQLParserException {
956-
Statement parsed = parserManager.parse(new StringReader(statement));
957-
assertStatementCanBeDeparsedAs(parsed, statement);
958-
}
959-
960-
private void assertStatementCanBeDeparsedAs(Statement parsed, String statement) {
961-
assertEquals(statement, parsed.toString());
962-
963-
StatementDeParser deParser = new StatementDeParser(new StringBuilder());
964-
parsed.accept(deParser);
965-
assertEquals(statement, deParser.getBuffer().toString());
966-
}
967-
968-
private void assertExpressionCanBeDeparsedAs(final Expression parsed, String expression) {
969-
ExpressionDeParser expressionDeParser = new ExpressionDeParser();
970-
StringBuilder stringBuffer = new StringBuilder();
971-
expressionDeParser.setBuffer(stringBuffer);
972-
SelectDeParser selectDeParser = new SelectDeParser(expressionDeParser, stringBuffer);
973-
expressionDeParser.setSelectVisitor(selectDeParser);
974-
parsed.accept(expressionDeParser);
975-
976-
assertEquals(expression, stringBuffer.toString());
977-
}
978955
}

src/test/java/net/sf/jsqlparser/test/update/UpdateTest.java

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import net.sf.jsqlparser.statement.Statement;
1515
import net.sf.jsqlparser.statement.update.Update;
1616
import net.sf.jsqlparser.util.deparser.StatementDeParser;
17+
import static net.sf.jsqlparser.test.TestUtils.*;
1718

1819
public class UpdateTest extends TestCase {
1920

@@ -50,17 +51,4 @@ public void testUpdateWithDeparser() throws JSQLParserException {
5051
public void testUpdateWithFrom() throws JSQLParserException {
5152
assertSqlCanBeParsedAndDeparsed("UPDATE table1 SET column = 5 FROM table1 LEFT JOIN table2 ON col1 = col2");
5253
}
53-
54-
private void assertSqlCanBeParsedAndDeparsed(String statement) throws JSQLParserException {
55-
Statement parsed = parserManager.parse(new StringReader(statement));
56-
assertStatementCanBeDeparsedAs(parsed, statement);
57-
}
58-
59-
private void assertStatementCanBeDeparsedAs(Statement parsed, String statement) {
60-
assertEquals(statement, parsed.toString());
61-
62-
StatementDeParser deParser = new StatementDeParser(new StringBuilder());
63-
parsed.accept(deParser);
64-
assertEquals(statement, deParser.getBuffer().toString());
65-
}
6654
}

0 commit comments

Comments
 (0)