@Override public boolean add(Record record) { return index.add(record) ; }
@Override public void close() { index.close() ; }
@Override public boolean contains(Record record) { return index.contains(record) ; }
public static void testDelete(Index index, int[] vals) { long size1 = index.size() ; int count = 0 ; count = delete(index, vals) ; List<Record> x = intToRecord(vals, RecordLib.TestRecordLength) ; for ( Record r : x ) { boolean b = index.delete(r) ; if ( b ) count ++ ; } for ( Record r : x ) BaseTest.assertFalse(index.contains(r)) ; long size2 = index.size() ; assertEquals(size1-count, size2) ; }
public static void testIndexContents(Index index, int[] records) List<Integer> x = toIntList(index.iterator()); assertEquals("Expected records size and tree size different", y.size(), index.size()) ; assertEquals("Expected records size and iteration over all keys are of different sizes", y.size(), x.size()) ; Record r2 = index.find(rec) ; assertNotNull("Finding "+rec, r2) ;
private final NodeId accessIndex(Node node, boolean create) Hash hash = new Hash(nodeHashToId.getRecordFactory().keyLength()) ; setHash(hash, node) ; byte k[] = hash.getBytes() ; Record r = nodeHashToId.getRecordFactory().create(k) ; Record r2 = nodeHashToId.find(r) ; if ( r2 != null ) if ( ! nodeHashToId.add(r) ) throw new TDBException("NodeTableBase::nodeToId - record mysteriously appeared") ; return id ;
@Override public Record find(Record record) { return index.find(record) ; }
@Override public boolean delete(Record record) { return index.delete(record) ; }
@Override public long size() { return index.size() ; } }
@Override public Iterator<Record> iterator() { return index.iterator() ; }
@Override public RecordFactory getRecordFactory() { return index.getRecordFactory() ; }
@Override public void check() { index.check() ; }
@Override public void clear() { index.clear() ; }
public static void testDelete(Index index, int[] vals) { long size1 = index.size() ; int count = 0 ; count = delete(index, vals) ; List<Record> x = intToRecord(vals, RecordLib.TestRecordLength) ; for ( Record r : x ) { boolean b = index.delete(r) ; if ( b ) count ++ ; } for ( Record r : x ) BaseTest.assertFalse(index.contains(r)) ; long size2 = index.size() ; assertEquals(size1-count, size2) ; }
public static void testIndexContents(Index index, int[] records) List<Integer> x = toIntList(index.iterator()); assertEquals("Expected records size and tree size different", y.size(), index.size()) ; assertEquals("Expected records size and iteration over all keys are of different sizes", y.size(), x.size()) ; Record r2 = index.find(rec) ; assertNotNull("Finding "+rec, r2) ;
@Test public void index_find_2() { int[] keys = {1,2,3,4,5,6,7,8,9}; Index index = test(keys) ; Record r = intToRecord(20, RecordLib.TestRecordLength) ; r = index.find(r) ; assertNull(r) ; }
public static int delete(Index index, int[] vals) { int count = 0 ; for ( int v : vals ) { boolean b = index.delete(r(v)) ; if ( b ) count ++ ; } return count ; }
private Index test(int[] insKeys, int[] delKeys, int[] expected) { index = makeIndex(4,0) ; testInsert(index, insKeys) ; long x = index.size() ; if ( x >= 0 ) assertEquals(insKeys.length, x) ; if ( delKeys != null ) { testDelete(index, delKeys) ; } if ( expected != null ) testIndexContents(index, expected) ; return index ; }
@After public void afterTest() { if ( index != null ) index.close(); index = null ; }
@Test public void index_find_1() { int[] keys = {1}; Index index = test(keys) ; Record r = intToRecord(1, RecordLib.TestRecordLength) ; r = index.find(r) ; assertNotNull(r) ; }