Author: natalia
Date: Mon Jul 23 18:21:17 2007
New Revision: 558906

URL: http://svn.apache.org/viewvc?view=rev&rev=558906
Log:
NameIndexer tests. One test is failing.

Added:
    
xml/xindice/trunk/java/tests/src/org/apache/xindice/core/indexer/NameIndexerTest.java
   (with props)

Added: 
xml/xindice/trunk/java/tests/src/org/apache/xindice/core/indexer/NameIndexerTest.java
URL: 
http://svn.apache.org/viewvc/xml/xindice/trunk/java/tests/src/org/apache/xindice/core/indexer/NameIndexerTest.java?view=auto&rev=558906
==============================================================================
--- 
xml/xindice/trunk/java/tests/src/org/apache/xindice/core/indexer/NameIndexerTest.java
 (added)
+++ 
xml/xindice/trunk/java/tests/src/org/apache/xindice/core/indexer/NameIndexerTest.java
 Mon Jul 23 18:21:17 2007
@@ -0,0 +1,113 @@
+/*
+ * 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.
+ *
+ * $Id$
+ */
+
+package org.apache.xindice.core.indexer;
+
+import junit.framework.TestCase;
+import org.apache.xindice.core.Database;
+import org.apache.xindice.core.Collection;
+import org.apache.xindice.core.DatabaseTest;
+import org.apache.xindice.core.DBException;
+import org.apache.xindice.core.indexer.helpers.IndexQueryANY;
+import org.apache.xindice.util.Configuration;
+import org.apache.xindice.xml.dom.DOMParser;
+import org.w3c.dom.Document;
+
+/**
+ * Tests indexed queries
+ *
+ * @version $Revision$, $Date$
+ */
+public class NameIndexerTest extends TestCase {
+
+   private Database db;
+   private Collection collection;
+   protected String indexClass;
+
+
+   public NameIndexerTest(String name) {
+       super(name);
+       indexClass = "org.apache.xindice.core.indexer.NameIndexer";
+   }
+
+   public void setUp() throws Exception {
+       String name = getClass().getName();
+       db = new Database();
+       db.setConfig(new 
Configuration(DOMParser.toDocument(DatabaseTest.DATABASE)));
+       collection = db.createCollection(name, new Configuration(
+               DOMParser.toDocument(
+                       "<collection compressed='true' name='" + name + "' 
inline-metadata='true'>" +
+                       "<filer 
class='org.apache.xindice.core.filer.BTreeFiler'/>" +
+                       "</collection>"), false
+       ));
+   }
+
+    public void tearDown() throws Exception {
+        db.dropCollection(collection);
+        db.close();
+    }
+
+    private Indexer createIndex(String name, String pattern) throws Exception {
+        String config = "<index name='" + name + "' " +
+                "class='" + indexClass + "' " +
+                "pattern='" + pattern + "'/>";
+        Indexer ind = collection.createIndexer(new
+                Configuration(DOMParser.toDocument(config)));
+        Thread.sleep(100);
+        return ind;
+    }
+
+    private IndexMatch[] query(Indexer ind, String pattern) throws DBException 
{
+        return ind.queryMatches(new IndexQueryANY(new 
IndexPattern(collection.getSymbols(), pattern, null)));
+    }
+
+    public void testElementIndex() throws Exception {
+        Indexer ind = createIndex("index", "test");
+
+        Document document = DOMParser.toDocument("<a><test>q</test></a>");
+        collection.insertDocument("key1", document);
+
+        document = DOMParser.toDocument("<a><test/></a>");
+        collection.insertDocument("key2", document);
+
+        document = DOMParser.toDocument("<a><test value='abc'/></a>");
+        collection.insertDocument("key3", document);
+
+        IndexMatch[] match = query(ind, "test");
+
+        assertEquals(3, match.length);
+    }
+
+    public void testAttributeIndex() throws Exception {
+        Indexer ind = createIndex("index", "[EMAIL PROTECTED]");
+
+        Document document = DOMParser.toDocument("<a><test 
value='abc'>q</test></a>");
+        collection.insertDocument("key1", document);
+
+        document = DOMParser.toDocument("<a><test/></a>");
+        collection.insertDocument("key2", document);
+
+        document = DOMParser.toDocument("<a><test value=''/></a>");
+        collection.insertDocument("key3", document);
+
+        IndexMatch[] match = query(ind, "[EMAIL PROTECTED]");
+
+        assertEquals(2, match.length);
+    }
+}

Propchange: 
xml/xindice/trunk/java/tests/src/org/apache/xindice/core/indexer/NameIndexerTest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
xml/xindice/trunk/java/tests/src/org/apache/xindice/core/indexer/NameIndexerTest.java
------------------------------------------------------------------------------
    svn:keywords = Id Revision Author Date


Reply via email to