@@ -266,18 +266,24 @@ public void testTop() throws JSQLParserException {
266266 }
267267
268268 public void testTopWithParenthesis () throws JSQLParserException {
269- final String statement = "SELECT TOP (5) PERCENT JobTitle, HireDate FROM HumanResources.Employee ORDER BY HireDate DESC" ;
269+ final String firstColumnName = "alias.columnName1" ;
270+ final String secondColumnName = "alias.columnName2" ;
271+ final String statement = "SELECT TOP (5) PERCENT " + firstColumnName + ", " + secondColumnName + " FROM schemaName.tableName alias ORDER BY " + secondColumnName + " DESC" ;
270272 final Select select = (Select ) parserManager .parse (new StringReader (statement ));
271273
272- assertEquals (5 , ((PlainSelect ) select .getSelectBody ()).getTop ().getRowCount ());
273- assertStatementCanBeDeparsedAs (select , statement );
274- }
275-
276- public void testTopWithParenthesisJDBC () throws JSQLParserException {
277- final String statement = "SELECT TOP (?) col1 FROM mytab" ;
278- final Select select = (Select ) parserManager .parse (new StringReader (statement ));
274+ final PlainSelect selectBody = (PlainSelect ) select .getSelectBody ();
275+
276+ final Top top = selectBody .getTop ();
277+ assertEquals (5 , top .getRowCount ());
278+ assertFalse (top .isRowCountJdbcParameter ());
279+ assertTrue (top .hasParenthesis ());
280+ assertTrue (top .isPercentage ());
281+
282+ final List <SelectItem > selectItems = selectBody .getSelectItems ();
283+ assertEquals (2 , selectItems .size ());
284+ assertEquals (firstColumnName , selectItems .get (0 ).toString ());
285+ assertEquals (secondColumnName , selectItems .get (1 ).toString ());
279286
280- assertTrue (((PlainSelect ) select .getSelectBody ()).getTop ().isRowCountJdbcParameter ());
281287 assertStatementCanBeDeparsedAs (select , statement );
282288 }
283289
@@ -551,7 +557,7 @@ public void testOrderBy() throws JSQLParserException {
551557 ((Column ) plainSelect .getOrderByElements ().get (0 ).getExpression ())
552558 .getFullyQualifiedName ());
553559 assertEquals ("b" ,
554- ((Column ) plainSelect .getOrderByElements ().get (1 ).getExpression ()).getColumnName ());
560+ ((Column ) plainSelect .getOrderByElements ().get (1 ).getExpression ()).getColumnName ());
555561 assertTrue (plainSelect .getOrderByElements ().get (1 ).isAsc ());
556562 assertFalse (plainSelect .getOrderByElements ().get (0 ).isAsc ());
557563 assertStatementCanBeDeparsedAs (select , statementToString );
@@ -561,7 +567,7 @@ public void testOrderBy() throws JSQLParserException {
561567 plainSelect = (PlainSelect ) select .getSelectBody ();
562568 assertEquals (2 , plainSelect .getOrderByElements ().size ());
563569 assertEquals ("a" ,
564- ((Column ) plainSelect .getOrderByElements ().get (0 ).getExpression ()).getColumnName ());
570+ ((Column ) plainSelect .getOrderByElements ().get (0 ).getExpression ()).getColumnName ());
565571 assertEquals (2 ,
566572 ((LongValue ) plainSelect .getOrderByElements ().get (1 ).getExpression ()).getValue ());
567573 assertStatementCanBeDeparsedAs (select , statement );
@@ -696,23 +702,23 @@ public void testDouble2() throws JSQLParserException {
696702 Select select = (Select ) parserManager .parse (new StringReader (statement ));
697703
698704 assertEquals (1e22 , ((DoubleValue ) ((SelectExpressionItem ) ((PlainSelect ) select .getSelectBody ())
699- .getSelectItems ().get (0 )).getExpression ()).getValue (), 0 );
705+ .getSelectItems ().get (0 )).getExpression ()).getValue (), 0 );
700706 }
701707
702708 public void testDouble3 () throws JSQLParserException {
703709 String statement = "SELECT 1. FROM mytable" ;
704710 Select select = (Select ) parserManager .parse (new StringReader (statement ));
705711
706712 assertEquals (1.0 , ((DoubleValue ) ((SelectExpressionItem ) ((PlainSelect ) select .getSelectBody ())
707- .getSelectItems ().get (0 )).getExpression ()).getValue (), 0 );
713+ .getSelectItems ().get (0 )).getExpression ()).getValue (), 0 );
708714 }
709715
710716 public void testDouble4 () throws JSQLParserException {
711717 String statement = "SELECT 1.2e22 FROM mytable" ;
712718 Select select = (Select ) parserManager .parse (new StringReader (statement ));
713719
714720 assertEquals (1.2e22 , ((DoubleValue ) ((SelectExpressionItem ) ((PlainSelect ) select .getSelectBody ())
715- .getSelectItems ().get (0 )).getExpression ()).getValue (), 0 );
721+ .getSelectItems ().get (0 )).getExpression ()).getValue (), 0 );
716722 }
717723
718724 public void testWith () throws JSQLParserException {
0 commit comments