Author: epunzalan Date: Tue Jan 3 19:09:05 2006 New Revision: 365806 URL: http://svn.apache.org/viewcvs?rev=365806&view=rev Log: PR: MRM-54
Added unit tests and fixed missing implements in AbstractCompoundQuery Added: maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/query/ maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/query/QueryTest.java (with props) Modified: maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/query/AbstractCompoundQuery.java Modified: maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/query/AbstractCompoundQuery.java URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/query/AbstractCompoundQuery.java?rev=365806&r1=365805&r2=365806&view=diff ============================================================================== --- maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/query/AbstractCompoundQuery.java (original) +++ maven/repository-manager/trunk/maven-repository-indexer/src/main/java/org/apache/maven/repository/indexing/query/AbstractCompoundQuery.java Tue Jan 3 19:09:05 2006 @@ -25,6 +25,7 @@ * @author Edwin Punzalan */ public abstract class AbstractCompoundQuery + implements Query { protected List queries; Added: maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/query/QueryTest.java URL: http://svn.apache.org/viewcvs/maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/query/QueryTest.java?rev=365806&view=auto ============================================================================== --- maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/query/QueryTest.java (added) +++ maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/query/QueryTest.java Tue Jan 3 19:09:05 2006 @@ -0,0 +1,84 @@ +package org.apache.maven.repository.indexing.query; + +import junit.framework.*; + +/* + * Copyright 2001-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. + */ + +/** + * + * @author Edwin Punzalan + */ +public class QueryTest extends TestCase +{ + public void testSinglePhraseQueryObject() + { + SinglePhraseQuery query = new SinglePhraseQuery( "Field", "Value" ); + assertTrue( query instanceof Query ); + assertEquals( "Field", query.getField() ); + assertEquals( "Value", query.getValue() ); + } + + public void testCompoundQueries() + { + RequiredQuery rQuery = new RequiredQuery(); + assertTrue( rQuery instanceof Query ); + rQuery.add( new SinglePhraseQuery( "r1Field", "r1Value" ) ); + rQuery.add( new SinglePhraseQuery( "r2Field", "r2Value" ) ); + + OptionalQuery oQuery = new OptionalQuery(); + oQuery.add( new SinglePhraseQuery( "oField", "oValue" ) ); + + RequiredQuery all = new RequiredQuery(); + all.add( rQuery ); + all.add( oQuery ); + assertEquals( 2, all.getQueryList().size() ); + + for( int ctr = 0; ctr < all.getQueryList().size(); ctr++ ) + { + Query query = (Query) all.getQueryList().get( ctr ); + switch ( ctr ) + { + case 0: + assertTrue( query instanceof RequiredQuery ); + rQuery = (RequiredQuery) query; + assertEquals( 2, rQuery.getQueryList().size() ); + query = (Query) rQuery.getQueryList().get( 0 ); + assertTrue( query instanceof SinglePhraseQuery ); + SinglePhraseQuery sQuery = (SinglePhraseQuery) query; + assertEquals( "r1Field", sQuery.getField() ); + assertEquals( "r1Value", sQuery.getValue() ); + query = (Query) rQuery.getQueryList().get( 1 ); + assertTrue( query instanceof SinglePhraseQuery ); + sQuery = (SinglePhraseQuery) query; + assertEquals( "r2Field", sQuery.getField() ); + assertEquals( "r2Value", sQuery.getValue() ); + break; + case 1: + assertTrue( query instanceof OptionalQuery ); + oQuery = (OptionalQuery) query; + assertEquals( 1, oQuery.getQueryList().size() ); + query = (Query) oQuery.getQueryList().get( 0 ); + assertTrue( query instanceof SinglePhraseQuery ); + sQuery = (SinglePhraseQuery) query; + assertEquals( "oField", sQuery.getField() ); + assertEquals( "oValue", sQuery.getValue() ); + break; + } + } + } +} Propchange: maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/query/QueryTest.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: maven/repository-manager/trunk/maven-repository-indexer/src/test/java/org/apache/maven/repository/indexing/query/QueryTest.java ------------------------------------------------------------------------------ svn:keywords = "Author Date Id Revision"