< prev index next >

test/javax/xml/jaxp/functional/test/astro/AstroTest.java

Print this page

        

*** 23,40 **** package test.astro; import static java.lang.String.valueOf; import static jaxp.library.JAXPTestUtilities.USER_DIR; ! import static org.testng.Assert.assertEquals; import static test.astro.AstroConstants.ASTROCAT; import static test.astro.AstroConstants.GOLDEN_DIR; - import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; - import java.util.List; import javax.xml.transform.sax.TransformerHandler; import org.testng.annotations.BeforeClass; import org.testng.annotations.DataProvider; --- 23,39 ---- package test.astro; import static java.lang.String.valueOf; import static jaxp.library.JAXPTestUtilities.USER_DIR; ! import static jaxp.library.JAXPTestUtilities.compareWithGold; ! import static org.testng.Assert.assertTrue; import static test.astro.AstroConstants.ASTROCAT; import static test.astro.AstroConstants.GOLDEN_DIR; import java.nio.file.Files; import java.nio.file.Paths; import javax.xml.transform.sax.TransformerHandler; import org.testng.annotations.BeforeClass; import org.testng.annotations.DataProvider;
*** 75,88 **** private FiltersAndGolden[] data; @BeforeClass public void setup() throws Exception { data = new FiltersAndGolden[4]; ! data[0] = new FiltersAndGolden(getGoldenFileContent(1), astro -> astro.getRAFilter(0.106, 0.108)); ! data[1] = new FiltersAndGolden(getGoldenFileContent(2), astro -> astro.getStellarTypeFilter("K0IIIbCN-0.5")); ! data[2] = new FiltersAndGolden(getGoldenFileContent(3), astro -> astro.getStellarTypeFilter("G"), astro -> astro.getDecFilter(-5.0, 60.0)); ! data[3] = new FiltersAndGolden(getGoldenFileContent(4), astro -> astro.getRADECFilter(0.084, 0.096, -5.75, 14.0)); } /* * Provide permutations of InputSourceFactory and FilterFactory for test. */ --- 74,87 ---- private FiltersAndGolden[] data; @BeforeClass public void setup() throws Exception { data = new FiltersAndGolden[4]; ! data[0] = new FiltersAndGolden(getGoldenFileName(1), astro -> astro.getRAFilter(0.106, 0.108)); ! data[1] = new FiltersAndGolden(getGoldenFileName(2), astro -> astro.getStellarTypeFilter("K0IIIbCN-0.5")); ! data[2] = new FiltersAndGolden(getGoldenFileName(3), astro -> astro.getStellarTypeFilter("G"), astro -> astro.getDecFilter(-5.0, 60.0)); ! data[3] = new FiltersAndGolden(getGoldenFileName(4), astro -> astro.getRADECFilter(0.084, 0.096, -5.75, 14.0)); } /* * Provide permutations of InputSourceFactory and FilterFactory for test. */
*** 100,147 **** public void test(Class<FilterFactory> fFactClass, Class<InputSourceFactory> isFactClass) throws Exception { System.out.println(fFactClass.getName() +" : " + isFactClass.getName()); AstroProcessor astro = new AstroProcessor(fFactClass, ASTROCAT, isFactClass); for (int i = 0; i < data.length; i++) { ! runProcess(astro, valueOf(i + 1), data[i].getGolden(), data[i].getFilters()); } } ! private void runProcess(AstroProcessor astro, String processNum, List<String> goldenfileContent, FilterCreator... filterCreators) throws Exception { System.out.println("run process " + processNum); TransformerHandler[] filters = new TransformerHandler[filterCreators.length]; for (int i = 0; i < filterCreators.length; i++) filters[i] = filterCreators[i].createFilter(astro); String outputfile = Files.createTempFile(Paths.get(USER_DIR), "query" + processNum + ".out.", null).toString(); System.out.println("output file: " + outputfile); astro.process(outputfile, filters); ! assertEquals(Files.readAllLines(Paths.get(outputfile)), goldenfileContent); } ! private List<String> getGoldenFileContent(int num) throws IOException { ! return Files.readAllLines(Paths.get(GOLDEN_DIR + "query" + num + ".out")); } @FunctionalInterface private interface FilterCreator { TransformerHandler createFilter(AstroProcessor astro) throws Exception; } private static class FiltersAndGolden { private FilterCreator[] filters; ! private List<String> golden; ! FiltersAndGolden(List<String> golden, FilterCreator... filters) { this.filters = filters; ! this.golden = golden; } FilterCreator[] getFilters() { return filters; } ! List<String> getGolden() { ! return golden; } } } --- 99,146 ---- public void test(Class<FilterFactory> fFactClass, Class<InputSourceFactory> isFactClass) throws Exception { System.out.println(fFactClass.getName() +" : " + isFactClass.getName()); AstroProcessor astro = new AstroProcessor(fFactClass, ASTROCAT, isFactClass); for (int i = 0; i < data.length; i++) { ! runProcess(astro, valueOf(i + 1), data[i].getGoldenFileName(), data[i].getFilters()); } } ! private void runProcess(AstroProcessor astro, String processNum, String goldenFileName, FilterCreator... filterCreators) throws Exception { System.out.println("run process " + processNum); TransformerHandler[] filters = new TransformerHandler[filterCreators.length]; for (int i = 0; i < filterCreators.length; i++) filters[i] = filterCreators[i].createFilter(astro); String outputfile = Files.createTempFile(Paths.get(USER_DIR), "query" + processNum + ".out.", null).toString(); System.out.println("output file: " + outputfile); astro.process(outputfile, filters); ! assertTrue(compareWithGold(goldenFileName, outputfile)); } ! private String getGoldenFileName(int num) { ! return GOLDEN_DIR + "query" + num + ".out"; } @FunctionalInterface private interface FilterCreator { TransformerHandler createFilter(AstroProcessor astro) throws Exception; } private static class FiltersAndGolden { private FilterCreator[] filters; ! private String goldenFileName; ! FiltersAndGolden(String goldenFileName, FilterCreator... filters) { this.filters = filters; ! this.goldenFileName = goldenFileName; } FilterCreator[] getFilters() { return filters; } ! String getGoldenFileName() { ! return goldenFileName; } } }
< prev index next >