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"


Reply via email to