db-jdo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From an...@apache.org
Subject svn commit: r1148191 - in /db/jdo/trunk/tck/src/java/org/apache/jdo/tck/query/jdoql/methods: SupportedDateMethods.java SupportedStringMethods.java
Date Tue, 19 Jul 2011 06:28:58 GMT
Author: andyj
Date: Tue Jul 19 06:28:57 2011
New Revision: 1148191

URL: http://svn.apache.org/viewvc?rev=1148191&view=rev
Log:
JDO-658 Apply patch for new method tests

Added:
    db/jdo/trunk/tck/src/java/org/apache/jdo/tck/query/jdoql/methods/SupportedDateMethods.java
Modified:
    db/jdo/trunk/tck/src/java/org/apache/jdo/tck/query/jdoql/methods/SupportedStringMethods.java

Added: db/jdo/trunk/tck/src/java/org/apache/jdo/tck/query/jdoql/methods/SupportedDateMethods.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck/src/java/org/apache/jdo/tck/query/jdoql/methods/SupportedDateMethods.java?rev=1148191&view=auto
==============================================================================
--- db/jdo/trunk/tck/src/java/org/apache/jdo/tck/query/jdoql/methods/SupportedDateMethods.java
(added)
+++ db/jdo/trunk/tck/src/java/org/apache/jdo/tck/query/jdoql/methods/SupportedDateMethods.java
Tue Jul 19 06:28:57 2011
@@ -0,0 +1,157 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software 
+ * distributed under the License is distributed on an "AS IS" BASIS, 
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
+ * See the License for the specific language governing permissions and 
+ * limitations under the License.
+ */
+
+package org.apache.jdo.tck.query.jdoql.methods;
+
+import org.apache.jdo.tck.JDO_Test;
+import org.apache.jdo.tck.pc.company.CompanyModelReader;
+import org.apache.jdo.tck.pc.company.Department;
+import org.apache.jdo.tck.pc.company.Person;
+import org.apache.jdo.tck.query.QueryElementHolder;
+import org.apache.jdo.tck.query.QueryTest;
+import org.apache.jdo.tck.util.BatchTestRunner;
+
+/**
+ *<B>Title:</B> Supported Date methods.
+ *<BR>
+ *<B>Keywords:</B> query
+ *<BR>
+ *<B>Assertion ID:</B> A14.6.2-47.
+ *<BR>
+ *<B>Assertion Description: </B>
+ * New supported Date methods:
+ * <ul>
+ * <li> toLowerCase()
+ * <li> toUpperCase()
+ * <li> indexOf(String)
+ * <li> indexOf(String, int)
+ * <li> matches(String)
+ * <li> substring(int)
+ * <li> substring(int, int)
+ * <li> startsWith(String)
+ * <li> endsWith(String)
+ * <li> startsWith(String, int)
+ * <li> length()
+ * </ul>
+ */
+public class SupportedDateMethods extends QueryTest {
+
+    /** */
+    private static final String ASSERTION_FAILED = 
+        "Assertion A14.6.2-47 (SupportedDateMethods) failed: ";
+    
+    /** 
+     * The array of valid queries which may be executed as 
+     * single string queries and as API queries.
+     */
+    private static final QueryElementHolder[] VALID_QUERIES = {
+        new QueryElementHolder(
+                /*UNIQUE*/      null,
+                /*RESULT*/      null, 
+                /*INTO*/        null, 
+                /*FROM*/        Person.class,
+                /*EXCLUDE*/     null,
+                /*WHERE*/       "birthdate.getDay() == 10",
+                /*VARIABLES*/   null,
+                /*PARAMETERS*/  null,
+                /*IMPORTS*/     null,
+                /*GROUP BY*/    null,
+                /*ORDER BY*/    null,
+                /*FROM*/        null,
+                /*TO*/          null),
+        new QueryElementHolder(
+                /*UNIQUE*/      null,
+                /*RESULT*/      null, 
+                /*INTO*/        null, 
+                /*FROM*/        Person.class,
+                /*EXCLUDE*/     null,
+                /*WHERE*/       "birthdate.getMonth() == 5",
+                /*VARIABLES*/   null,
+                /*PARAMETERS*/  null,
+                /*IMPORTS*/     null,
+                /*GROUP BY*/    null,
+                /*ORDER BY*/    null,
+                /*FROM*/        null,
+                /*TO*/          null),
+        new QueryElementHolder(
+                /*UNIQUE*/      null,
+                /*RESULT*/      null, 
+                /*INTO*/        null, 
+                /*FROM*/        Person.class,
+                /*EXCLUDE*/     null,
+                /*WHERE*/       "birthdate.getYear() == 1970",
+                /*VARIABLES*/   null,
+                /*PARAMETERS*/  null,
+                /*IMPORTS*/     null,
+                /*GROUP BY*/    null,
+                /*ORDER BY*/    null,
+                /*FROM*/        null,
+                /*TO*/          null),
+    };
+
+    /** 
+     * The expected results of valid queries.
+     */
+    private Object[] expectedResult = {
+        getTransientCompanyModelInstancesAsList(new String[]{"emp1"}),
+        getTransientCompanyModelInstancesAsList(new String[]{"emp1"}),
+        getTransientCompanyModelInstancesAsList(new String[]{"emp1"}),
+    };
+            
+    /**
+     * The <code>main</code> is called when the class
+     * is directly executed from the command line.
+     * @param args The arguments passed to the program.
+     */
+    public static void main(String[] args) {
+        BatchTestRunner.run(SupportedDateMethods.class);
+    }
+    
+    /** */
+    public void testGetDay() {
+        int index = 0;
+        executeQuery(index);
+    }
+    
+    /** */
+    public void testGetMonth() {
+        int index = 1;
+        executeQuery(index);
+    }
+
+    /** */
+    public void testGetYear() {
+        int index = 2;
+        executeQuery(index);
+    }
+
+    /**
+     * @see JDO_Test#localSetUp()
+     */
+    protected void localSetUp() {
+        addTearDownClass(CompanyModelReader.getTearDownClasses());
+        loadAndPersistCompanyModel(getPM());
+    }
+
+    /** */
+    private void executeQuery(int index) {
+        executeAPIQuery(ASSERTION_FAILED, VALID_QUERIES[index], 
+                expectedResult[index]);
+        executeSingleStringQuery(ASSERTION_FAILED, VALID_QUERIES[index], 
+                expectedResult[index]);
+    }
+}

Modified: db/jdo/trunk/tck/src/java/org/apache/jdo/tck/query/jdoql/methods/SupportedStringMethods.java
URL: http://svn.apache.org/viewvc/db/jdo/trunk/tck/src/java/org/apache/jdo/tck/query/jdoql/methods/SupportedStringMethods.java?rev=1148191&r1=1148190&r2=1148191&view=diff
==============================================================================
--- db/jdo/trunk/tck/src/java/org/apache/jdo/tck/query/jdoql/methods/SupportedStringMethods.java
(original)
+++ db/jdo/trunk/tck/src/java/org/apache/jdo/tck/query/jdoql/methods/SupportedStringMethods.java
Tue Jul 19 06:28:57 2011
@@ -42,8 +42,10 @@ import org.apache.jdo.tck.util.BatchTest
  * <li> matches(String)
  * <li> substring(int)
  * <li> substring(int, int)
- * <li> startsWith()
- * <li> endsWith()
+ * <li> startsWith(String)
+ * <li> endsWith(String)
+ * <li> startsWith(String, int)
+ * <li> length()
  * </ul>
  */
 public class SupportedStringMethods extends QueryTest {
@@ -210,7 +212,49 @@ public class SupportedStringMethods exte
                 /*GROUP BY*/    null,
                 /*ORDER BY*/    null,
                 /*FROM*/        null,
-                /*TO*/          null)
+                /*TO*/          null),
+        new QueryElementHolder(
+                /*UNIQUE*/      null,
+                /*RESULT*/      null, 
+                /*INTO*/        null, 
+                /*FROM*/        Person.class,
+                /*EXCLUDE*/     null,
+                /*WHERE*/       "firstname.startsWith('mp', 1)",
+                /*VARIABLES*/   null,
+                /*PARAMETERS*/  null,
+                /*IMPORTS*/     null,
+                /*GROUP BY*/    null,
+                /*ORDER BY*/    null,
+                /*FROM*/        null,
+                /*TO*/          null),
+        new QueryElementHolder(
+                /*UNIQUE*/      null,
+                /*RESULT*/      null, 
+                /*INTO*/        null, 
+                /*FROM*/        Person.class,
+                /*EXCLUDE*/     null,
+                /*WHERE*/       "firstname.length() == 9",
+                /*VARIABLES*/   null,
+                /*PARAMETERS*/  null,
+                /*IMPORTS*/     null,
+                /*GROUP BY*/    null,
+                /*ORDER BY*/    null,
+                /*FROM*/        null,
+                /*TO*/          null),
+        new QueryElementHolder(
+                /*UNIQUE*/      null,
+                /*RESULT*/      null, 
+                /*INTO*/        null, 
+                /*FROM*/        Person.class,
+                /*EXCLUDE*/     null,
+                /*WHERE*/       "firstname.charAt(3) == '1'",
+                /*VARIABLES*/   null,
+                /*PARAMETERS*/  null,
+                /*IMPORTS*/     null,
+                /*GROUP BY*/    null,
+                /*ORDER BY*/    null,
+                /*FROM*/        null,
+                /*TO*/          null),
     };
 
     /** 
@@ -233,7 +277,13 @@ public class SupportedStringMethods exte
         getTransientCompanyModelInstancesAsList(new String[]{
                 "emp1", "emp2", "emp3", "emp4", "emp5"}),
         getTransientCompanyModelInstancesAsList(new String[]{
-                "emp1", "emp2", "emp3", "emp4", "emp5"})
+        		"emp1", "emp2", "emp3", "emp4", "emp5"}),
+        getTransientCompanyModelInstancesAsList(new String[]{
+        		"emp1", "emp2", "emp3", "emp4", "emp5"}),
+        getTransientCompanyModelInstancesAsList(new String[]{
+        		"emp1", "emp2", "emp3", "emp4", "emp5"}),
+        getTransientCompanyModelInstancesAsList(new String[]{
+        		"emp1"})
     };
             
     /**
@@ -301,6 +351,24 @@ public class SupportedStringMethods exte
         executeQuery(index);
     }
 
+    /** */
+    public void testStartsWithIndexed() {
+        int index = 11;
+        executeQuery(index);
+    }
+
+    /** */
+    public void testLength() {
+        int index = 12;
+        executeQuery(index);
+    }
+
+    /** */
+    public void testCharAt() {
+        int index = 13;
+        executeQuery(index);
+    }
+
     /**
      * @see JDO_Test#localSetUp()
      */



Mime
View raw message