Index: test/java/org/apache/jdo/tck/query/jdoql/operators/Modulo.java =================================================================== --- test/java/org/apache/jdo/tck/query/jdoql/operators/Modulo.java (Revision 0) +++ test/java/org/apache/jdo/tck/query/jdoql/operators/Modulo.java (Revision 0) @@ -0,0 +1,96 @@ +/* + * Copyright 2005 The Apache Software Foundation. + * + * Licensed 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.operators; + +import org.apache.jdo.tck.JDO_Test; +import org.apache.jdo.tck.pc.company.CompanyModelReader; +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; + +/** + *Title: Modulo operator. + *
+ *Keywords: query + *
+ *Assertion ID: A14.6.2-40. + *
+ *Assertion Description: + * modulo operator + */ +public class Modulo extends QueryTest { + + /** */ + private static final String ASSERTION_FAILED = + "Assertion A14.6.2-40 (Modulo) 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*/ "personid % 2 == 0", + /*VARIABLES*/ null, + /*PARAMETERS*/ null, + /*IMPORTS*/ null, + /*GROUP BY*/ null, + /*ORDER BY*/ null, + /*FROM*/ null, + /*TO*/ null) + }; + + /** The expected results of valid queries. */ + private static String[][] expectedResult = { + {"emp2", "emp4"} + }; + + /** + * The main 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(Modulo.class); + } + + /** */ + public void testPositive() { + for (int i = 0; i < VALID_QUERIES.length; i++) { + Object[] expectedResultValues = + getCompanyModelInstances(expectedResult[i]); + executeAPIQuery(ASSERTION_FAILED, VALID_QUERIES[i], + expectedResultValues); + executeSingleStringQuery(ASSERTION_FAILED, VALID_QUERIES[i], + expectedResultValues); + } + } + + /** + * @see JDO_Test#localSetUp() + */ + protected void localSetUp() { + loadCompanyModel(getPM(), COMPANY_TESTDATA); + addTearDownClass(CompanyModelReader.getTearDownClasses()); + } +} Index: test/java/org/apache/jdo/tck/query/jdoql/operators/Instanceof.java =================================================================== --- test/java/org/apache/jdo/tck/query/jdoql/operators/Instanceof.java (Revision 0) +++ test/java/org/apache/jdo/tck/query/jdoql/operators/Instanceof.java (Revision 0) @@ -0,0 +1,97 @@ +/* + * Copyright 2005 The Apache Software Foundation. + * + * Licensed 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.operators; + +import org.apache.jdo.tck.JDO_Test; +import org.apache.jdo.tck.pc.company.CompanyModelReader; +import org.apache.jdo.tck.pc.company.Employee; +import org.apache.jdo.tck.query.QueryElementHolder; +import org.apache.jdo.tck.query.QueryTest; +import org.apache.jdo.tck.util.BatchTestRunner; + +/** + *Title: Instanceof operator. + *
+ *Keywords: query + *
+ *Assertion ID: A14.6.2-41. + *
+ *Assertion Description: + * instanceof operator + */ +public class Instanceof extends QueryTest { + + /** */ + private static final String ASSERTION_FAILED = + "Assertion A14.6.2-41 (Instanceof) 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*/ Employee.class, + /*EXCLUDE*/ null, + /*WHERE*/ "mentor instanceof " + + "org.apache.jdo.tck.pc.company.PartTimeEmployee", + /*VARIABLES*/ null, + /*PARAMETERS*/ null, + /*IMPORTS*/ null, + /*GROUP BY*/ null, + /*ORDER BY*/ null, + /*FROM*/ null, + /*TO*/ null) + }; + + /** The expected results of valid queries. */ + private static String[][] expectedResult = { + {"emp2", "emp3"} + }; + + /** + * The main 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(Instanceof.class); + } + + /** */ + public void testPositive() { + for (int i = 0; i < VALID_QUERIES.length; i++) { + Object[] expectedResultValues = + getCompanyModelInstances(expectedResult[i]); + executeAPIQuery(ASSERTION_FAILED, VALID_QUERIES[i], + expectedResultValues); + executeSingleStringQuery(ASSERTION_FAILED, VALID_QUERIES[i], + expectedResultValues); + } + } + + /** + * @see JDO_Test#localSetUp() + */ + protected void localSetUp() { + loadCompanyModel(getPM(), COMPANY_TESTDATA); + addTearDownClass(CompanyModelReader.getTearDownClasses()); + } +} Index: test/conf/alltests.conf =================================================================== --- test/conf/alltests.conf (Revision 306550) +++ test/conf/alltests.conf (Arbeitskopie) @@ -297,7 +297,11 @@ org.apache.jdo.tck.query.jdoql.RestoredSerializedQueryInstanceLosesAssociationWithPM \ org.apache.jdo.tck.query.jdoql.SeparateNamespaceForTypeNames \ org.apache.jdo.tck.query.jdoql.WhiteSpaceIsACharacterAndIgnored \ +org.apache.jdo.tck.query.jdoql.keywords.InvalidUseOfKeywords \ +org.apache.jdo.tck.query.jdoql.keywords.KeywordsAsFieldNames \ +org.apache.jdo.tck.query.jdoql.keywords.SingleString \ org.apache.jdo.tck.query.jdoql.keywords.ThisIsReservedWordForElementOfCollection \ +org.apache.jdo.tck.query.jdoql.keywords.UppercaseLowercase \ org.apache.jdo.tck.query.jdoql.keywords.UseOfThisToAcessHiddenField \ org.apache.jdo.tck.query.jdoql.methods.MethodsAndObjectConstructionNotSupported \ org.apache.jdo.tck.query.jdoql.methods.StartsWithAndEndsWith \ @@ -316,9 +320,11 @@ org.apache.jdo.tck.query.jdoql.operators.EqualityAndComparisonsBetweenStringFieldsAndParameters \ org.apache.jdo.tck.query.jdoql.operators.GreaterThan \ org.apache.jdo.tck.query.jdoql.operators.GreaterThanOrEqual \ +org.apache.jdo.tck.query.jdoql.operators.Instanceof \ org.apache.jdo.tck.query.jdoql.operators.LessThan \ org.apache.jdo.tck.query.jdoql.operators.LessThanOrEqual \ org.apache.jdo.tck.query.jdoql.operators.LogicalComplement \ +org.apache.jdo.tck.query.jdoql.operators.Modulo \ org.apache.jdo.tck.query.jdoql.operators.Multiplication \ org.apache.jdo.tck.query.jdoql.operators.NotEquals \ org.apache.jdo.tck.query.jdoql.operators.PromotionOfNumericOperands \