package name.abuchen.portfolio.money.impl;
import static org.hamcrest.CoreMatchers.instanceOf;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.core.IsNull.nullValue;
import static org.junit.Assert.assertThat;
import org.junit.Test;
import name.abuchen.portfolio.money.ExchangeRateProviderFactory;
import name.abuchen.portfolio.money.ExchangeRateTimeSeries;
@SuppressWarnings("nls")
public class ECBExchangeRateProviderTest
{
@Test
public void testLookup()
{
ExchangeRateProviderFactory factory = new ExchangeRateProviderFactory();
assertThat(factory.getTimeSeries("EUR", "CHF"), instanceOf(ExchangeRateTimeSeriesImpl.class));
assertThat(factory.getTimeSeries("CHF", "EUR"), instanceOf(InverseExchangeRateTimeSeries.class));
assertThat(factory.getTimeSeries("EUR", "XXX"), is(nullValue()));
assertThat(factory.getTimeSeries("XXX", "EUR"), is(nullValue()));
assertThat(factory.getTimeSeries("GBP", "XXX"), is(nullValue()));
assertThat(factory.getTimeSeries("XXX", "GBP"), is(nullValue()));
assertThat(factory.getTimeSeries("XZY", "XXX"), is(nullValue()));
ExchangeRateTimeSeries timeSeries = factory.getTimeSeries("CHF", "USD");
assertThat(timeSeries, instanceOf(ChainedExchangeRateTimeSeries.class));
assertThat(timeSeries.getBaseCurrency(), is("CHF"));
assertThat(timeSeries.getTermCurrency(), is("USD"));
}
}