### Question:
FileReader implements Iterable<Elements> { void refresh() throws FileReaderException { this.headings = null; getTable(); } FileReader(Source source, String selector, Integer index);  FileReader(Source source, String selector);  FileReader(Source source); @Override FileReaderIterator iterator(); void close();  }### Answer:
@Disabled("[CALCITE-3800] FileReaderTest#testFileReaderUrlNoPath() timeout for AppVeyor test") @Test @RequiresNetwork public void testFileReaderUrlNoPath() throws FileReaderException { final String r = getProperty("java.runtime.name"); assumeTrue(!r.equals("OpenJDK Runtime Environment") || getJavaMajorVersion() > 10, "Java 10+ should have root certificates (JEP 319). Runtime is " + r + ", Jave major version is " + getJavaMajorVersion()); FileReader t = new FileReader(STATES_SOURCE); t.refresh(); }
@Disabled("[CALCITE-1789] Wikipedia format change breaks file adapter test") @Test @RequiresNetwork public void testFileReaderUrlWithPath() throws FileReaderException { FileReader t = new FileReader(CITIES_SOURCE, "#mw-content-text > table.wikitable.sortable", 0); t.refresh(); }
@Test void testFileReaderBadUrl() { final String uri = "http: assertThrows(FileReaderException.class, () -> { FileReader t = new FileReader(Sources.url(uri), "table:eq(4)"); t.refresh(); }); }
@Test void testFileReaderBadSelector() { final Source source = resource("tableOK.html"); assertThrows(FileReaderException.class, () -> { FileReader t = new FileReader(source, "table:eq(1)"); t.refresh(); }); }