From: <hib...@li...> - 2006-04-20 21:35:27
|
Author: ste...@jb... Date: 2006-04-20 17:35:09 -0400 (Thu, 20 Apr 2006) New Revision: 9776 Modified: branches/HQL_ANTLR_2/Hibernate3/test/org/hibernate/test/hql/HqlResolverTest.java Log: refactor to PersisterReference stuff Modified: branches/HQL_ANTLR_2/Hibernate3/test/org/hibernate/test/hql/HqlResolverTest.java =================================================================== --- branches/HQL_ANTLR_2/Hibernate3/test/org/hibernate/test/hql/HqlResolverTest.java 2006-04-20 21:32:07 UTC (rev 9775) +++ branches/HQL_ANTLR_2/Hibernate3/test/org/hibernate/test/hql/HqlResolverTest.java 2006-04-20 21:35:09 UTC (rev 9776) @@ -8,7 +8,6 @@ import org.hibernate.hql.antlr.HqlRTokenTypes; import org.hibernate.hql.ast.resolve.HqlResolver; import org.hibernate.hql.ast.resolve.StatementNode; -import org.hibernate.hql.ast.resolve.ResolverContextImpl; import org.hibernate.hql.ast.util.ASTPrinter; import org.hibernate.test.TestCase; import org.hibernate.engine.SessionFactoryImplementor; @@ -34,6 +33,10 @@ assertTrue(ast instanceof StatementNode); } + public void testSelectExpression() throws Throwable { + resolve( "select a from Animal a" ); + } + public void testSimpleImplicitJoin() throws Exception { AST ast = resolve("from Animal a where a.mother.name like '%mary%'"); // The root node should be a statement. @@ -44,13 +47,23 @@ assertTrue(ast instanceof StatementNode); } + public void testUnqualifiedPropertyReference() throws Exception { + AST ast = resolve("from Animal where name like '%mary%'"); + // The root node should be a statement. + assertTrue(ast instanceof StatementNode); + } + + public void testThetaJoins() throws Exception { + AST ast = resolve( "from Animal a, Animal b where a.mother.id = b.id and b.name like '%mary%'" ); + // The root node should be a statement. + assertTrue(ast instanceof StatementNode); + } + private AST resolve(String hql) throws RecognitionException, TokenStreamException { AST hqlAst = HqlParserTest.doParse(hql,false); // Now, pass it though the resolver phase, which yeilds // a processed HQL AST. - HqlResolver resolver = new HqlResolver(); - ResolverContextImpl context = new ResolverContextImpl(getSessionFactoryImplementor()); - resolver.initialize(context); // Give the resolver a fake context. + HqlResolver resolver = new HqlResolver( getSessionFactoryImplementor() ); resolver.statement(hqlAst); AST resolvedHql = resolver.getAST(); System.out.println(hqlrPrinter.showAsString(resolvedHql, |