pylucene 3.5.0-3
[pylucene.git] / lucene-java-3.5.0 / lucene / contrib / facet / src / test / org / apache / lucene / util / collections / IntArrayTest.java
diff --git a/lucene-java-3.5.0/lucene/contrib/facet/src/test/org/apache/lucene/util/collections/IntArrayTest.java b/lucene-java-3.5.0/lucene/contrib/facet/src/test/org/apache/lucene/util/collections/IntArrayTest.java
new file mode 100644 (file)
index 0000000..9111ef8
--- /dev/null
@@ -0,0 +1,126 @@
+package org.apache.lucene.util.collections;
+
+import org.junit.Test;
+
+import org.apache.lucene.util.LuceneTestCase;
+import org.apache.lucene.util.collections.IntArray;
+
+/**
+ * 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.
+ */
+
+public class IntArrayTest extends LuceneTestCase {
+  
+  @Test
+  public void test0() {
+    IntArray array = new IntArray();
+    
+    assertEquals(0, array.size());
+    
+    for (int i = 0; i < 100; ++i) {
+      array.addToArray(i);
+    }
+    
+    assertEquals(100, array.size());
+    for (int i = 0; i < 100; ++i) {
+      assertEquals(i, array.get(i));
+    }
+    
+    assertTrue(array.equals(array));
+  }
+  
+  @Test
+  public void test1() {
+    IntArray array = new IntArray();
+    IntArray array2 = new IntArray();
+    
+    assertEquals(0, array.size());
+    
+    for (int i = 0; i < 100; ++i) {
+      array.addToArray(99-i);
+      array2.addToArray(99-i);
+    }
+    
+    assertEquals(100, array.size());
+    for (int i = 0; i < 100; ++i) {
+      assertEquals(i, array.get(99-i));
+    }
+    
+    array.sort();
+    for (int i = 0; i < 100; ++i) {
+      assertEquals(i, array.get(i));
+    }
+
+    assertTrue(array.equals(array2));
+  }
+  
+  @Test
+  public void test2() {
+    IntArray array = new IntArray();
+    IntArray array2 = new IntArray();
+    IntArray array3 = new IntArray();
+    
+    for (int i = 0; i < 100; ++i) {
+      array.addToArray(i);
+    }
+
+    for (int i = 0; i < 100; ++i) {
+      array2.addToArray(i*2);
+    }
+
+    for (int i = 0; i < 50; ++i) {
+      array3.addToArray(i*2);
+    }
+
+    assertFalse(array.equals(array2));
+    
+    array.intersect(array2);
+    assertTrue(array.equals(array3));
+    assertFalse(array.equals(array2));
+  }
+  
+  @Test
+  public void testSet() {
+    int[] original = new int[] { 2,4,6,8,10,12,14 };
+    int[] toSet = new int[] { 1,3,5,7,9,11};
+    
+    IntArray arr = new IntArray();
+    for (int val : original) {
+      arr.addToArray(val);
+    }
+    
+    for (int i = 0; i < toSet.length; i++ ) {
+      int val = toSet[i];
+      arr.set(i, val);
+    }
+    
+    // Test to see if the set worked correctly
+    for (int i = 0; i < toSet.length; i++ ) {
+      assertEquals(toSet[i], arr.get(i));
+    }
+    
+    // Now attempt to set something outside of the array
+    try {
+      arr.set(100, 99);
+      fail("IntArray.set should have thrown an exception for attempting to set outside the array");
+    } catch (ArrayIndexOutOfBoundsException e) {
+      // We expected this to happen so let it fall through
+      // silently
+    }
+    
+  }
+
+}