blob: 2210b55c0590f2de656d0407779bfe07cc4ba629 [file] [log] [blame]
/*
* Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// Contributors:
// Oracle - initial API and implementation
//
package org.eclipse.persistence.jpa.tests.jpql.tools;
import org.eclipse.persistence.jpa.jpql.parser.DefaultJPQLGrammar;
import org.eclipse.persistence.jpa.jpql.tools.ContentAssistExtension;
import org.eclipse.persistence.jpa.jpql.tools.DefaultContentAssistProposals;
import org.eclipse.persistence.jpa.jpql.tools.ResultQuery;
import org.junit.Test;
import static org.junit.Assert.*;
/**
* The unit-tests for {@link DefaultContentAssistProposals}.
*
* @version 2.5
* @since 2.5
* @author Pascal Filion
*/
@SuppressWarnings("nls")
public final class DefaultContentAssistProposalsTest {
@Test
public void test_BuildXmlQuery_01() {
String jpqlQuery = "SELECT a FROM Employee e";
int position = "SELECT a".length();
String proposal = "ABS";
String expectedJPQLQuery = "SELECT ABS FROM Employee e";
int expectedPosition = "SELECT ABS".length();
DefaultContentAssistProposals proposals = buildProposals();
ResultQuery result = proposals.buildXmlQuery(jpqlQuery, proposal, position, false);
assertNotNull("ResultQuery cannot be null", result);
assertEquals (expectedJPQLQuery, result.getQuery());
assertEquals (expectedPosition, result.getPosition());
}
@Test
public void test_BuildXmlQuery_02() {
String jpqlQuery = "SELECT 2 < e.id FROM Employee e";
int position = "SELECT 2 ".length();
String proposal = "<>";
DefaultContentAssistProposals proposals = buildProposals();
ResultQuery result = proposals.buildXmlQuery(jpqlQuery, proposal, position, false);
String expectedJPQLQuery = "SELECT 2 &lt;&gt; e.id FROM Employee e";
int expectedPosition = "SELECT 2 &lt;&gt;".length();
assertNotNull("ResultQuery cannot be null", result);
assertEquals (expectedJPQLQuery, result.getQuery());
assertEquals (expectedPosition, result.getPosition());
}
@Test
public void test_BuildXmlQuery_03() {
String jpqlQuery = "SELECT 2 &lt; e.id FROM Employee e";
int position = "SELECT 2 &".length();
String proposal = "<>";
DefaultContentAssistProposals proposals = buildProposals();
ResultQuery result = proposals.buildXmlQuery(jpqlQuery, proposal, position, false);
String expectedJPQLQuery = "SELECT 2 &lt;&gt; e.id FROM Employee e";
int expectedPosition = "SELECT 2 &lt;&gt;".length();
assertNotNull("ResultQuery cannot be null", result);
assertEquals (expectedJPQLQuery, result.getQuery());
assertEquals (expectedPosition, result.getPosition());
}
@Test
public void test_BuildXmlQuery_04() {
String jpqlQuery = "SELECT 2 &lt; e.id FROM Employee e";
int position = "SELECT 2 &l".length();
String proposal = "<>";
DefaultContentAssistProposals proposals = buildProposals();
ResultQuery result = proposals.buildXmlQuery(jpqlQuery, proposal, position, false);
String expectedJPQLQuery = "SELECT 2 &lt;&gt; e.id FROM Employee e";
int expectedPosition = "SELECT 2 &lt;&gt;".length();
assertNotNull("ResultQuery cannot be null", result);
assertEquals (expectedJPQLQuery, result.getQuery());
assertEquals (expectedPosition, result.getPosition());
}
@Test
public void test_BuildXmlQuery_05() {
String jpqlQuery = "SELECT 2 &lt; e.id FROM Employee e";
int position = "SELECT 2 &lt".length();
String proposal = "<>";
DefaultContentAssistProposals proposals = buildProposals();
ResultQuery result = proposals.buildXmlQuery(jpqlQuery, proposal, position, false);
String expectedJPQLQuery = "SELECT 2 &lt;&gt; e.id FROM Employee e";
int expectedPosition = "SELECT 2 &lt;&gt;".length();
assertNotNull("ResultQuery cannot be null", result);
assertEquals (expectedJPQLQuery, result.getQuery());
assertEquals (expectedPosition, result.getPosition());
}
@Test
public void test_BuildXmlQuery_06() {
String jpqlQuery = "SELECT 2 &lt; e.id FROM Employee e";
int position = "SELECT 2 &lt;".length();
String proposal = "<>";
DefaultContentAssistProposals proposals = buildProposals();
ResultQuery result = proposals.buildXmlQuery(jpqlQuery, proposal, position, false);
String expectedJPQLQuery = "SELECT 2 &lt;&gt; e.id FROM Employee e";
int expectedPosition = "SELECT 2 &lt;&gt;".length();
assertNotNull("ResultQuery cannot be null", result);
assertEquals (expectedJPQLQuery, result.getQuery());
assertEquals (expectedPosition, result.getPosition());
}
@Test
public void test_BuildXmlQuery_07() {
String jpqlQuery = "SELECT 2 &lt; e.id FROM Employee e WHERE e.name = '&amp;' ";
int position = jpqlQuery.length();
String proposal = "AND";
DefaultContentAssistProposals proposals = buildProposals();
ResultQuery result = proposals.buildXmlQuery(jpqlQuery, proposal, position, false);
String expectedJPQLQuery = "SELECT 2 &lt; e.id FROM Employee e WHERE e.name = '&amp;' AND";
int expectedPosition = expectedJPQLQuery.length();
assertNotNull("ResultQuery cannot be null", result);
assertEquals (expectedJPQLQuery, result.getQuery());
assertEquals (expectedPosition, result.getPosition());
}
@Test
public void test_BuildXmlQuery_08() {
String jpqlQuery = "SELECT 2 &lt; &#101;.id FROM Employee &#101; WHERE e.name ";
int position = jpqlQuery.length();
String proposal = ">";
DefaultContentAssistProposals proposals = buildProposals();
ResultQuery result = proposals.buildXmlQuery(jpqlQuery, proposal, position, false);
String expectedJPQLQuery = "SELECT 2 &lt; &#101;.id FROM Employee &#101; WHERE e.name &gt;";
int expectedPosition = expectedJPQLQuery.length();
assertNotNull("ResultQuery cannot be null", result);
assertEquals (expectedJPQLQuery, result.getQuery());
assertEquals (expectedPosition, result.getPosition());
}
private DefaultContentAssistProposals buildProposals() {
return new DefaultContentAssistProposals(
DefaultJPQLGrammar.instance(),
ContentAssistExtension.NULL_HELPER
);
}
}