package aQute.lib.index;
import java.io.File;
import aQute.lib.io.IO;
import junit.framework.TestCase;
public class TestIndex extends TestCase {
public void testPersistence() throws Exception {
File test = IO.getFile("tmp/" + getName() + ".tmp");
test.delete();
test.getParentFile().mkdirs();
Index index = new Index(test, 2000);
try {
index.insert(new byte[] {
1
}, 2);
index.insert(new byte[] {
2
}, 4);
index.insert(new byte[] {
3
}, 6);
assertEquals(2, index.search(new byte[] {
1
}));
assertEquals(4, index.search(new byte[] {
2
}));
assertEquals(6, index.search(new byte[] {
3
}));
System.err.println(index.toString());
} finally {
index.close();
}
index = new Index(test, 2000);
try {
System.err.println(index.toString());
assertEquals(2, index.search(new byte[] {
1
}));
assertEquals(4, index.search(new byte[] {
2
}));
assertEquals(6, index.search(new byte[] {
3
}));
index.close();
} finally {
index.close();
IO.delete(test.getParentFile());
}
}
public void testBasic() throws Exception {
File test = IO.getFile("tmp/" + getName() + ".tmp");
test.delete();
test.getParentFile().mkdirs();
Index index = new Index(test, 2000);
try {
index.insert(new byte[] {
12
}, 24);
index.insert(new byte[] {
13
}, 26);
index.insert(new byte[] {
6
}, 12);
index.insert(new byte[] {
16
}, 32);
index.insert(new byte[] {
1
}, 2);
assertEquals(24, index.search(new byte[] {
12
}));
assertEquals(26, index.search(new byte[] {
13
}), 26);
assertEquals(12, index.search(new byte[] {
6
}), 12);
} finally {
index.close();
IO.delete(test.getParentFile());
}
}
// public void testMany() throws Exception {
// File test = IO.getFile("tmp/"+getName()+".tmp");
// test.delete();
// Index index = new Index(test, 1000);
// for ( int i = 1; i<127; i++)
// index.insert( new byte[]{(byte)i}, i*2);
//
// index.close();
// Index index2 = new Index(test, 1000);
// for ( int i = 1; i<127; i++)
// assertEquals(i*2, index2.search( new byte[(byte)i]));
//
// }
}