22
33import java .io .StringReader ;
44
5- import junit .framework .TestCase ;
65import net .sf .jsqlparser .JSQLParserException ;
76import net .sf .jsqlparser .expression .JdbcParameter ;
87import net .sf .jsqlparser .expression .LongValue ;
1211import net .sf .jsqlparser .schema .Column ;
1312import net .sf .jsqlparser .statement .replace .Replace ;
1413import net .sf .jsqlparser .statement .select .SubSelect ;
14+ import net .sf .jsqlparser .test .TestUtils ;
15+ import static org .junit .Assert .assertEquals ;
16+ import static org .junit .Assert .assertTrue ;
17+ import org .junit .Test ;
1518
16- public class ReplaceTest extends TestCase {
19+ public class ReplaceTest {
1720
18- CCJSqlParserManager parserManager = new CCJSqlParserManager ();
21+ private static CCJSqlParserManager parserManager = new CCJSqlParserManager ();
1922
20- public ReplaceTest (String arg0 ) {
21- super (arg0 );
22- }
2323
24+ @ Test
2425 public void testReplaceSyntax1 () throws JSQLParserException {
2526 String statement = "REPLACE mytable SET col1='as', col2=?, col3=565" ;
2627 Replace replace = (Replace ) parserManager .parse (new StringReader (statement ));
@@ -36,6 +37,7 @@ public void testReplaceSyntax1() throws JSQLParserException {
3637
3738 }
3839
40+ @ Test
3941 public void testReplaceSyntax2 () throws JSQLParserException {
4042 String statement = "REPLACE mytable (col1, col2, col3) VALUES ('as', ?, 565)" ;
4143 Replace replace = (Replace ) parserManager .parse (new StringReader (statement ));
@@ -50,6 +52,7 @@ public void testReplaceSyntax2() throws JSQLParserException {
5052 assertEquals (statement , "" + replace );
5153 }
5254
55+ @ Test
5356 public void testReplaceSyntax3 () throws JSQLParserException {
5457 String statement = "REPLACE mytable (col1, col2, col3) SELECT * FROM mytable3" ;
5558 Replace replace = (Replace ) parserManager .parse (new StringReader (statement ));
@@ -62,4 +65,9 @@ public void testReplaceSyntax3() throws JSQLParserException {
6265 // TODO:
6366 // assertEquals(statement, ""+replace);
6467 }
68+
69+ @ Test
70+ public void testProblemReplaceParseDeparse () throws JSQLParserException {
71+ TestUtils .assertSqlCanBeParsedAndDeparsed ("REPLACE a_table (ID, A, B) SELECT A_ID, A, B FROM b_table" , false );
72+ }
6573}
0 commit comments