package name.abuchen.portfolio.online.impl; import static org.hamcrest.core.IsEqual.equalTo; import static org.junit.Assert.assertThat; import java.io.IOException; import java.util.List; import java.util.Scanner; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.junit.Test; import name.abuchen.portfolio.money.Values; import name.abuchen.portfolio.online.SecuritySearchProvider.ResultItem; @SuppressWarnings("nls") public class YahooSearchProviderTest { @Test public void testParsingHtml() throws IOException { // search: https://de.finance.yahoo.com/lookup?s=BASF*&t=A&b=0&m=ALL try (Scanner scanner = new Scanner(getClass().getResourceAsStream("response_yahoo_search.txt"), "UTF-8")) { String html = scanner.useDelimiter("\\A").next(); Document document = Jsoup.parse(html); List<ResultItem> items = new YahooSearchProvider().extractFrom(document); assertThat(items.size(), equalTo(20)); ResultItem p = items.get(0); assertThat(p.getSymbol(), equalTo("D979C.LS")); assertThat(p.getName(), equalTo("BASF AG/CITI WT 14")); assertThat(p.getIsin(), equalTo("DE000CF79JW9")); assertThat(p.getLastTrade(), equalTo(Values.Quote.factorize(0.11))); assertThat(p.getType(), equalTo("Zertifikate & OS")); assertThat(p.getExchange(), equalTo("LIS")); } } }