public void testLocate() throws IOException { if (skip) return; writeRecords(3 * records1stBlock); Reader reader = new Reader(fs.open(path), fs.getFileStatus(path).getLen(), conf); Scanner scanner = reader.createScanner(); Location loc2 = locate(scanner, composeSortedKey(KEY, 3 * records1stBlock, 2) .getBytes()); Location locLastIn1stBlock = locate(scanner, composeSortedKey(KEY, 3 * records1stBlock, records1stBlock - 1).getBytes()); Location locFirstIn2ndBlock = locate(scanner, composeSortedKey(KEY, 3 * records1stBlock, records1stBlock).getBytes()); Location locX = locate(scanner, "keyX".getBytes()); Assert.assertEquals(scanner.endLocation, locX); scanner.close(); reader.close(); }
@Test public void testLocate() throws IOException { if (skip) return; writeRecords(3 * records1stBlock); Reader reader = new Reader(fs.open(path), fs.getFileStatus(path).getLen(), conf); Scanner scanner = reader.createScanner(); locate(scanner, composeSortedKey(KEY, 2).getBytes()); locate(scanner, composeSortedKey(KEY, records1stBlock - 1).getBytes()); locate(scanner, composeSortedKey(KEY, records1stBlock).getBytes()); Location locX = locate(scanner, "keyX".getBytes()); Assert.assertEquals(scanner.endLocation, locX); scanner.close(); reader.close(); }
Location locate(Scanner scanner, byte[] key) throws IOException { if (scanner.seekTo(key) == true) { return scanner.currentLocation; } return scanner.endLocation; }