package de.westnordost.streetcomplete.data.osm.download; import junit.framework.TestCase; import java.io.ByteArrayInputStream; import java.io.InputStream; public class OverpassStatusParserTest extends TestCase { public void testParseRateLimit() { assertEquals(2, parse("Rate limit: 2").maxAvailableSlots); } public void testParseAvailableSlots() { assertEquals(33, parse("33 slots available now.").availableSlots); } public void testParseNoAvailableSlots() { assertEquals(25, (int) parse("Slot available after: 2016-11-20T18:08:05Z, in 25 seconds.").nextAvailableSlotIn); } public void testParseNoAvailableSlotsMultiple() { assertEquals(25, (int) parse( "Slot available after: 2016-11-20T18:08:05Z, in 25 seconds.\n" + "Slot available after: 2016-11-20T20:08:05Z, in 564 seconds.\n").nextAvailableSlotIn); } private OverpassStatus parse(String xml) { try { InputStream in = new ByteArrayInputStream(xml.getBytes("UTF-8")); return new OverpassStatusParser().parse(in); } catch (Exception e) { throw new RuntimeException(e); } } }