package org.raidenjpa.query.where;
import static org.junit.Assert.assertEquals;
import java.util.List;
import org.junit.Test;
import org.raidenjpa.AbstractTestCase;
import org.raidenjpa.util.QueryHelper;
public class OrderByTest extends AbstractTestCase {
@Test
public void testOrderBy() {
createA("a5", 0);
createA("a2", 0);
createA("a3", 0);
createA("a4", 1);
createA("a1", 1);
String jpql;
QueryHelper query;
List<?> result;
jpql = "SELECT a.stringValue FROM A a ORDER BY a.id";
query = new QueryHelper(jpql);
result = query.getResultList();
assertEquals("a5", result.get(0));
assertEquals("a2", result.get(1));
assertEquals("a3", result.get(2));
jpql = "SELECT a.stringValue FROM A a ORDER BY a.stringValue";
query = new QueryHelper(jpql);
result = query.getResultList();
assertEquals("a1", result.get(0));
assertEquals("a2", result.get(1));
assertEquals("a3", result.get(2));
jpql = "SELECT a.stringValue FROM A a ORDER BY a.intValue DESC, a.stringValue ASC";
query = new QueryHelper(jpql);
result = query.getResultList();
assertEquals("a1", result.get(0));
assertEquals("a4", result.get(1));
assertEquals("a2", result.get(2));
assertEquals("a3", result.get(3));
assertEquals("a5", result.get(4));
}
}