package org.knowm.xchange.utils; import static org.fest.assertions.api.Assertions.assertThat; import org.junit.Test; import org.knowm.xchange.currency.Currency; import org.knowm.xchange.currency.CurrencyPair; import org.knowm.xchange.utils.jackson.CurrencyPairDeserializer; /** * Test class for CurrencyPairDeserializer */ public class CurrencyPairDeserializerTest { @Test public void testCurrencyPairFromString() { CurrencyPair currencyPair; currencyPair = CurrencyPairDeserializer.getCurrencyPairFromString(CurrencyPair.DOGE_HKD.toString()); assertThat(currencyPair).isEqualTo(CurrencyPair.DOGE_HKD); currencyPair = CurrencyPairDeserializer.getCurrencyPairFromString("BTCUSD"); assertThat(currencyPair.base).isEqualTo(Currency.BTC); assertThat(currencyPair.counter).isEqualTo(Currency.USD); currencyPair = CurrencyPairDeserializer.getCurrencyPairFromString("BCBTC"); assertThat(currencyPair.base).isEqualTo(Currency.BC); assertThat(currencyPair.counter).isEqualTo(Currency.BTC); currencyPair = CurrencyPairDeserializer.getCurrencyPairFromString("DOGEBTC"); assertThat(currencyPair.base).isEqualTo(Currency.DOGE); assertThat(currencyPair.counter).isEqualTo(Currency.BTC); // Current heuristic: CurrencyPairDeserializer takes the end which gives the longer match to a real currency currencyPair = CurrencyPairDeserializer.getCurrencyPairFromString("USDEHQXYVBC"); assertThat(currencyPair.base).isEqualTo(Currency.USDE); assertThat(currencyPair.counter.getCurrencyCode()).isEqualTo("HQXYVBC"); } }