package org.raidenjpa.query.parser;
import static org.junit.Assert.*;
import org.junit.Test;
public class OrderByParserTest {
@Test
public void testOrderBy() {
String jpql;
QueryParser queryParser;
jpql = "FROM A a ORDER BY a.id";
queryParser = new QueryParser(jpql);
assertEquals(1, queryParser.getOrderBy().getElements().size());
assertEquals("ASC", queryParser.getOrderBy().getElements().get(0).getOrientation());
jpql = "FROM A a order by a.id, a.stringValue";
queryParser = new QueryParser(jpql);
assertEquals(2, queryParser.getOrderBy().getElements().size());
jpql = "FROM A a ORDER BY a.id ASC, a.stringValue DESC";
queryParser = new QueryParser(jpql);
assertEquals(2, queryParser.getOrderBy().getElements().size());
assertEquals("ASC", queryParser.getOrderBy().getElements().get(0).getOrientation());
assertEquals("DESC", queryParser.getOrderBy().getElements().get(1).getOrientation());
}
@Test
public void testMaxInOrderByElement() {
String jpql;
QueryParser queryParser;
jpql = "FROM A a ORDER BY max(a.intValue)";
queryParser = new QueryParser(jpql);
assertTrue(queryParser.getOrderBy().getElements().get(0).isMax());
}
}