/** * Appends the print (out) action to the query with default parameters: * * <ul> * <li>verbosity: {@link OutputVerbosity#BODY }</li> * <li>modificator: {@link OutputModificator#CENTER }</li> * <li>order: {@link OutputOrder#QT }</li> * </ul> * * @see #output(OutputVerbosity, OutputModificator, OutputOrder, int) * * @param limit maximum number of elements to return * * @return the current OverpassQuery object */ public OverpassQuery output(int limit) { return output(BODY, CENTER, QT, limit); }
public final OverpassQuery end() { parent.onSubQueryResult(this); return parent; } }
@Test public void testSimpleFilterQuery() throws Exception { String result = new OverpassQuery() .format(JSON) .timeout(30) .filterQuery() .node() .amenity("parking") .tagNot("access", "private") .boundingBox( 47.48047027491862, 19.039797484874725, 47.51331674014172, 19.07404761761427 ) .end() .output(OutputVerbosity.BODY, OutputModificator.CENTER, OutputOrder.QT, 100) .build() ; String expected = "[out:\"json\"][timeout:\"30\"]; (node[\"amenity\"=\"parking\"][\"access\"!=\"private\"](47.48047027491862,19.039797484874725,47.51331674014172,19.07404761761427);<;); out body center qt 100;"; assertEquals(expected, result); }
@Before public void setUp() throws Exception { query = new OverpassQuery(builder); }
@Test public void testBuild() throws Exception { query.build(); verify(builder).append(";"); }
@Test public void testBoundingBox() throws Exception { query.boundingBox(1.00000001, 2.00000002, 3.00000003, 4.00000004); verify(builder).append("[bbox:1.00000001,2.00000002,3.00000003,4.00000004]"); }
@Test public void testFormat() throws Exception { query.format(JSON); verify(builder).setting("out", "json"); }
@Test public void testTimeout() throws Exception { query.timeout(30); verify(builder).setting("timeout", "30"); }
@Test public void testFilterQuery() throws Exception { OverpassFilterQuery filterQuery = query.filterQuery(); assertThat(filterQuery, isA(OverpassFilterQuery.class)); }
@Test public void testMultipleFilterQueriesWithGlobalBoundingBoxSearch() throws Exception { String result = new OverpassQuery() .format(JSON) .timeout(30) .boundingBox( 47.48047027491862, 19.039797484874725, 47.51331674014172, 19.07404761761427 ) .filterQuery() .node() .amenity("parking") .tagNot("access", "private") .prepareNext() .way() .amenity("parking") .tagNot("access", "private") .end() .output(OutputVerbosity.BODY, OutputModificator.CENTER, OutputOrder.QT, 100) .build() ; String expected = "[out:\"json\"][timeout:\"30\"]" + "[bbox:47.48047027491862,19.039797484874725,47.51331674014172,19.07404761761427]" + "; (" + "node[\"amenity\"=\"parking\"][\"access\"!=\"private\"]; " + "way[\"amenity\"=\"parking\"][\"access\"!=\"private\"]" + ";<;); out body center qt 100;"; assertEquals(expected, result); }
@Before public void setUp() throws Exception { query = new OverpassQuery(builder); }
@Test public void testMultipleFilterQueriesAround() throws Exception { String result = new OverpassQuery() .format(JSON) .timeout(30) .filterQuery() .node() .amenity("parking") .output(OutputVerbosity.BODY, OutputModificator.CENTER, OutputOrder.QT, 100) .build()
@Test public void testOutputWithCustomArgs() throws Exception { query.output(OutputVerbosity.META, OutputModificator.GEOM, OutputOrder.ASC, 100); verify(builder).append("; out meta geom asc 100"); } }
@Test public void testMultipleFilterQueries() throws Exception { String result = new OverpassQuery() .format(JSON) .timeout(30) .filterQuery() .node() .amenity("parking") .output(OutputVerbosity.BODY, OutputModificator.CENTER, OutputOrder.QT, 100) .build()
@Test public void testOutputWithDefaultArgs() throws Exception { query.output(100); verify(builder).append("; out body center qt 100"); }