/******************************************************************************* * Copyright (c) 2005, 2015 SAP. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 * which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * SAP - initial API and implementation ******************************************************************************/ package org.eclipse.persistence.testing.tests.wdf.jpa1.query; import org.eclipse.persistence.testing.framework.wdf.ToBeInvestigated; import org.junit.Test; @SuppressWarnings("nls") public class TestBuiltInFunctionExpressions extends QueryTest { @Test public void testConcatHandling0() { /* 0 */assertValidQuery("SELECT c FROM City c where 'a' = concat('a', 'a')"); } @Test public void testConcatHandling1() { /* 1 */assertValidQuery("SELECT c FROM City c where 'a' = concat(concat('a', 'a'), concat('a', 'a'))"); } @Test public void testConcatHandling2() { /* 2 */assertValidQuery("SELECT p FROM Person p where 'a' = concat(p.string, p.string)"); } @Test public void testConcatHandling3() { /* 3 */assertValidQuery("SELECT p FROM Person p where 'a' = concat(5, 5)"); } @Test public void testConcatHandling4() { /* 4 */assertValidQuery("SELECT p FROM Person p where 'a' = concat(?1, ?1)"); } @ToBeInvestigated @Test public void testConcatHandling5() { /* 5 */assertValidQuery("SELECT p FROM Person p where 'a' = concat(max(p.string), min(p.string))"); } @Test public void testConcatHandling6() { /* 6 */assertValidQuery("SELECT p FROM Person p where 'a' = concat((select max(p1.string) from Person p1), (select max(p1.string) from Person p1))"); } @Test public void testConcatHandling7() { /* 7 */assertInvalidQuery("SELECT p FROM Person p where 'a' = concat(p, 4 * 5)"); } @Test public void testSubstringHandling() { /* -- */assertValidQuery("UPDATE Person p SET p.string = CONCAT('288', SUBSTRING(p.string, LOCATE(p.string, '-'), 4))"); } @Test public void testSubstringHandling8() { /* 8 */assertValidQuery("SELECT p FROM Person p where 'a' = substring('a', 4, 5)"); } @Test public void testSubstringHandling9() { /* 9 */assertValidQuery("SELECT p FROM Person p where 'a' = substring(p.string, p.integer, p.integer)"); } @Test public void testSubstringHandling10() { /* 10 */assertValidQuery("SELECT p FROM Person p where 'a' = substring(p.string, 2 + 3, 3 * 2)"); } @Test public void testSubstringHandling11() { /* 11 */assertValidQuery("SELECT p FROM Person p where 'a' = substring(?1, ?2, ?2)"); } @Test public void testSubstringHandling12() { /* 12 */assertValidQuery("SELECT p FROM Person p where 'a' = substring(substring('a', 2, 3), abs(2), abs(-2))"); } @ToBeInvestigated @Test public void testSubstringHandling13() { /* 13 */assertValidQuery("SELECT p FROM Person p where 'a' = substring(max(p.string), min(p.integer), max(p.integer))"); } @Test public void testSubstringHandling14() { /* 14 */assertValidQuery("SELECT p FROM Person p where 'a' = substring((select max(p1.string) from Person p1), (select max(p1.integer) from Person p1), (select max(p1.integer) from Person p1))"); } @Test public void testTrimHandling15() { /* 15 */assertValidQuery("SELECT p FROM Person p where 'a' = trim('a')"); } @Test public void testTrimHandling16() { /* 16 */assertInvalidQuery("SELECT p FROM Person p where 'a' = trim(p)"); } @Test public void testTrimHandling17() { /* 17 */assertValidQuery("SELECT p FROM Person p where 'a' = trim(p.string)"); } @Test public void testTrimHandling18() { /* 18 */assertValidQuery("SELECT p FROM Person p where 'a' = trim(:one)"); } @Test public void testTrimHandling19() { /* 19 */assertValidQuery("SELECT p FROM Person p where 'a' = trim(trim('a'))"); } @ToBeInvestigated @Test public void testTrimHandling20() { /* 20 */assertValidQuery("SELECT p FROM Person p where 'a' = trim(max(p.string))"); } @Test public void testTrimHandling21() { /* 21 */assertValidQuery("SELECT p FROM Person p where 'a' = trim((select max(p1.string) from Person p1))"); } @Test public void testTrimHandling22() { /* 22 */assertInvalidQuery("SELECT p FROM Person p where 'a' = trim(1+1)"); } @Test public void testTrimHandling28() { /* 28 */assertValidQuery("SELECT p FROM Person p where trim(trailing from 'a') = 'a'"); } @Test public void testTrimHandling29() { /* 29 */assertValidQuery("SELECT p FROM Person p where trim(leading from 'a') = 'a'"); } @Test public void testTrimHandling30() { /* 30 */assertInvalidQuery("SELECT p FROM Person p where 'a' = trim(1 from 'a')"); } @ToBeInvestigated @Test public void testTrimHandling31() { /* 31 */assertInvalidQuery("SELECT p FROM Person p where 'a' = trim('12' from 'a')"); } @Test public void testTrimWithTrimCharacter23() { /* 23 */assertValidQuery("SELECT p FROM Person p where 'a' = trim('a' from 'a')"); } @Test public void testTrimWithTrimCharacter24() { /* 24 */assertValidQuery("SELECT p FROM Person p where trim(both 'a' from 'a') = 'a'"); } @Test public void testTrimWithTrimCharacter25() { /* 25 */assertValidQuery("SELECT p FROM Person p where trim(trailing 'a' from 'a') = 'a'"); } @Test public void testTrimWithTrimCharacter26() { /* 26 */assertValidQuery("SELECT p FROM Person p where trim(leading 'a' from 'a') = 'a'"); } @Test public void testTrimWithTrimCharacter27() { /* 27 */assertValidQuery("SELECT p FROM Person p where trim(both from 'a') = 'a'"); } @Test public void testTrimWithTrimCharacter33() { /* 33 */assertValidQuery("SELECT p FROM Person p where 'a' = trim(:one from 'a')"); /* 34 */assertValidQuery("SELECT p FROM Person p where 'a' = trim(:one from 'a')"); } @Test public void testTrimWithTrimCharacter34() { /* 34 */assertValidQuery("SELECT p FROM Person p where 'a' = trim(:one from 'a')"); } @Test public void testUpperHandling35() { /* 35 */assertValidQuery("SELECT p FROM Person p where upper('a') = lower('a')"); } @Test public void testUpperHandling36() { /* 36 */assertInvalidQuery("SELECT p FROM Person p where upper(p) = lower(p)"); } @Test public void testUpperHandling37() { /* 37 */assertValidQuery("SELECT p FROM Person p where upper(p.string) = lower(p.string)"); } @Test public void testUpperHandling38() { /* 38 */assertValidQuery("SELECT p FROM Person p where upper(:one) = lower(:one)"); } @Test public void testUpperHandling39() { /* 39 */assertValidQuery("SELECT p FROM Person p where upper(trim('a')) = lower(trim('a'))"); } @ToBeInvestigated @Test public void testUpperHandling40() { /* 40 */assertValidQuery("SELECT p FROM Person p where upper(min(p.string)) = lower(max(p.string))"); } @Test public void testUpperHandling41() { /* 41 */assertValidQuery("SELECT p FROM Person p where upper((select max(p1.string) from Person p1)) = lower((select max(p1.string) from Person p1))"); } @Test public void testUpperHandling42() { /* 42 */assertValidQuery("SELECT p FROM Person p where upper(2*2) = lower(1+1)"); } @Test public void testLengthHandling43() { /* 43 */assertValidQuery("SELECT p FROM Person p where length('a') = 666"); } @Test public void testLengthHandling44() { /* 44 */assertInvalidQuery("SELECT p FROM Person p where length(p) = 666"); } @Test public void testLengthHandling45() { /* 45 */assertValidQuery("SELECT p FROM Person p where length(p.string) = 666"); } @Test public void testLengthHandling46() { /* 46 */assertValidQuery("SELECT p FROM Person p where length(:one) = 666"); } @Test public void testLengthHandling47() { /* 47 */assertValidQuery("SELECT p FROM Person p where length(trim('a')) = 666"); } @ToBeInvestigated @Test public void testLengthHandling48() { /* 48 */assertValidQuery("SELECT p FROM Person p where length(min(p.string)) = 666"); } @Test public void testLengthHandling49() { /* 49 */assertValidQuery("SELECT p FROM Person p where length((select max(p1.string) from Person p1)) = 666"); } @Test public void testLengthHandling50() { /* 50 */assertValidQuery("SELECT p FROM Person p where length(2*2) = 666"); } @Test public void testLocateHandling51() { /* 51 */assertValidQuery("SELECT p FROM Person p where 666 = locate('a', 'b', 5)"); } @Test public void testLocateHandling52() { /* 52 */assertValidQuery("SELECT p FROM Person p where 666 = locate(p.string, p.string, p.integer)"); } @Test public void testLocateHandling53() { /* 53 */assertValidQuery("SELECT p FROM Person p where 666 = locate(p.string, p.string, 3 * 2)"); } @Test public void testLocateHandling54() { /* 54 */assertValidQuery("SELECT p FROM Person p where 666 = locate(?1, ?1, ?2)"); } @Test public void testLocateHandling55() { /* 55 */assertValidQuery("SELECT p FROM Person p where 666 = locate(substring('a', 2, 3), upper('abs(2)'), abs(-2))"); } @ToBeInvestigated @Test public void testLocateHandling56() { /* 56 */assertValidQuery("SELECT p FROM Person p where 666 = locate(max(p.string), min(p.string), max(p.integer))"); } @Test public void testLocateHandling57() { /* 57 */assertValidQuery("SELECT p FROM Person p where 666 = locate((select max(p1.string) from Person p1), (select max(p1.string) from Person p1), (select max(p1.integer) from Person p1))"); } @Test public void testLocateHandling58() { /* 58 */assertValidQuery("SELECT p FROM Person p where 666 = locate('a', 'b')"); } @Test public void testAbsHandling59() { /* 59 */assertValidQuery("SELECT p FROM Person p where 666 = abs(5+10.3)"); } @Test public void testAbsHandling60() { /* 60 */assertValidQuery("SELECT p FROM Person p where 666 = abs(666)"); } @Test public void testAbsHandling61() { /* 61 */assertValidQuery("SELECT p FROM Person p where 666 = abs(p._float)"); } @Test public void testAbsHandling62() { /* 62 */assertValidQuery("SELECT p FROM Person p where 666 = abs(p.integer)"); } @ToBeInvestigated @Test public void testAbsHandling63() { /* 63 */assertInvalidQuery("SELECT p FROM Person p where 666 = abs(p.string)"); } @Test public void testAbsHandling64() { /* 64 */assertValidQuery("SELECT p FROM Person p where abs((select max(p1.bigInteger) from Person p1)) = 666"); } @ToBeInvestigated @Test public void testAbsHandling65() { /* 65 */assertValidQuery("SELECT p FROM Person p where abs(max(p._float)) = 666"); } @Test public void testAbsHandling66() { /* 66 */assertValidQuery("SELECT p FROM Person p where abs(abs(p._float)) = 666"); } @Test public void testAbsHandling67() { /* 67 */assertValidQuery("SELECT p FROM Person p where 666 = abs(?1)"); } @ToBeInvestigated @Test public void testAbsHandling68() { /* 68 */assertInvalidQuery("SELECT p FROM Person p where 666 = abs(p)"); } @Test public void testSqrtHandling69() { /* 69 */assertValidQuery("SELECT p FROM Person p where 666 = sqrt(5+10.3)"); } @Test public void testSqrtHandling70() { /* 70 */assertValidQuery("SELECT p FROM Person p where 666 = sqrt(666)"); } @Test public void testSqrtHandling71() { /* 71 */assertValidQuery("SELECT p FROM Person p where 666 = sqrt(p._float)"); } @Test public void testSqrtHandling72() { /* 72 */assertValidQuery("SELECT p FROM Person p where 666 = sqrt(p.integer)"); } @ToBeInvestigated @Test public void testSqrtHandling73() { /* 73 */assertInvalidQuery("SELECT p FROM Person p where 666 = sqrt(p.string)"); } @Test public void testSqrtHandling74() { /* 74 */assertValidQuery("SELECT p FROM Person p where sqrt((select max(p1.bigInteger) from Person p1)) = 666"); } @ToBeInvestigated @Test public void testSqrtHandling75() { /* 75 */assertValidQuery("SELECT p FROM Person p where sqrt(max(p._float)) = 666"); } @Test public void testSqrtHandling76() { /* 76 */assertValidQuery("SELECT p FROM Person p where sqrt(sqrt(p._float)) = 666"); } @Test public void testSqrtHandling77() { /* 77 */assertValidQuery("SELECT p FROM Person p where 666 = sqrt(?1)"); } @Test public void testSqrtHandling78() { /* 78 */assertValidQuery("SELECT p FROM Person p where 666 = sqrt(?1)"); } @Test public void testModHandling79() { /* 79 */assertValidQuery("SELECT p FROM Person p where 666 = mod(5+10,5+10)"); } @Test public void testModHandling80() { /* 80 */assertValidQuery("SELECT p FROM Person p where 666 = mod(666, 666)"); } @Test public void testModHandling81() { /* 81 */assertValidQuery("SELECT p FROM Person p where 666 = mod(p._float, p._float)"); } @Test public void testModHandling82() { /* 82 */assertValidQuery("SELECT p FROM Person p where 666 = mod(p.integer, p.integer)"); } @Test public void testModHandling83() { /* 83 */assertValidQuery("SELECT p FROM Person p where 666 = mod(p.string, p.string)"); } @Test public void testModHandling84() { /* 84 */assertValidQuery("SELECT p FROM Person p where mod((select max(p1.bigInteger) from Person p1), (select max(p1.bigInteger) from Person p1)) = 666"); } @ToBeInvestigated @Test public void testModHandling85() { /* 85 */assertValidQuery("SELECT p FROM Person p where mod(max(p.integer), max(p.integer)) = 666"); } @Test public void testModHandling86() { /* 86 */assertValidQuery("SELECT p FROM Person p where mod(abs(p.integer), abs(p.integer)) = 666"); } @Test public void testModHandling87() { /* 87 */assertValidQuery("SELECT p FROM Person p where 666 = mod(?1, ?1)"); } @Test public void testModHandling88() { /* 88 */assertInvalidQuery("SELECT p FROM Person p where 666 = mod(p, p)"); } @Test public void testSizeHandling89() { /* 89 */assertInvalidQuery("SELECT c FROM Cop c where 666 = size(c.partner)"); } @Test public void testSizeHandling90() { /* 90 */assertValidQuery("SELECT c FROM Cop c where 666 = size(c.attachedCriminals)"); } @Test public void testSizeHandling91() { /* 91 */assertValidQuery("SELECT c FROM Cop c where 666 = size(c.informers)"); } @Test public void testSizeHandling92() { /* 92 */assertInvalidQuery("SELECT c FROM Cop c where 666 = size(c.id)"); } @Test public void testSizeHandling93() { /* 93 */assertInvalidQuery("SELECT c FROM Cop c where 666 = size(c.tesla)"); } @Test public void testSizeHandling94() { /* 94 */assertInvalidQuery("SELECT c FROM Cop c where 666 = size(c.tesla.integer)"); } }