1 21 package com.db4o.db4ounit.common.foundation; 22 23 import com.db4o.*; 24 import com.db4o.db4ounit.common.btree.*; 25 import com.db4o.foundation.*; 26 27 import db4ounit.*; 28 29 30 public class TreeKeyIteratorTestCase implements TestCase { 31 32 public static void main(String [] args) { 33 new TestRunner(TreeKeyIteratorTestCase.class).run(); 34 } 35 36 private static int[] VALUES = new int[]{1, 3, 5, 7, 9, 10, 11, 13, 24, 76}; 37 38 public void testIterate(){ 39 for (int i = 1; i <= VALUES.length; i++) { 40 assertIterateValues(VALUES, i); 41 } 42 } 43 44 public void testMoveNextAfterCompletion(){ 45 Iterator4 i = new TreeKeyIterator(createTree(VALUES)); 46 while(i.moveNext()){ 47 48 } 49 Assert.isFalse(i.moveNext()); 50 } 51 52 private void assertIterateValues(int[] values, int count) { 53 int[] testValues = new int[count]; 54 System.arraycopy(values, 0, testValues, 0, count); 55 assertIterateValues(testValues); 56 } 57 58 private void assertIterateValues(int[] values) { 59 ExpectingVisitor expectingVisitor = new ExpectingVisitor(IntArrays4.toObjectArray(values), true, false); 60 Iterator4 i = new TreeKeyIterator(createTree(values)); 61 while(i.moveNext()){ 62 expectingVisitor.visit(i.current()); 63 } 64 expectingVisitor.assertExpectations(); 65 } 66 67 private Tree createTree(int[] values){ 68 Tree tree = new TreeInt(values[0]); 69 for (int i = 1; i < values.length; i++) { 70 tree = tree.add(new TreeInt(values[i])); 71 } 72 return tree; 73 } 74 75 public void testEmpty(){ 76 Iterator4 i = new TreeKeyIterator(null); 77 Assert.isFalse(i.moveNext()); 78 } 79 80 81 } 82 | Popular Tags |