package org.raidenjpa.query.parser; import static org.junit.Assert.*; import org.junit.Test; public class FromParseTest { @Test public void testWithSelectEntityAndAlias() { String jpql = "SELECT a FROM A a"; QueryParser queryParser = new QueryParser(jpql); FromClause from = queryParser.getFrom(); assertEquals("A", from.getClassName(0)); assertEquals("a", from.getAliasName(0)); } @Test public void testTwoFromWithAlias() { String jpql = "SELECT a FROM A a, B b WHERE a.stringValue = :a"; QueryParser queryParser = new QueryParser(jpql); FromClause from = queryParser.getFrom(); assertEquals("A", from.getClassName(0)); assertEquals("a", from.getAliasName(0)); assertEquals("B", from.getClassName(1)); assertEquals("b", from.getAliasName(1)); } @Test public void testFromIn() { String jpql = "SELECT a FROM A a, IN (a.itens) item"; QueryParser queryParser = new QueryParser(jpql); FromClause from = queryParser.getFrom(); FromClauseItem item = from.getItem("item"); assertTrue(item.isInFrom()); assertEquals("a", item.getInPath().get(0)); assertEquals("itens", item.getInPath().get(1)); } @Test public void testWithSelectAttributes() { } @Test public void testWithoutSelect() { // String jpql = "FROM A a"; // // jpql = "FROM A"; } @Test public void testWithoutFrom() { } @Test public void testWithTwoEntitiesFrom() { } @Test public void testDesnormalized() { // Spaces, line break, etc } }