package org.knowm.xchange.quoine.dto.marketdata; import static org.fest.assertions.api.Assertions.assertThat; import java.io.IOException; import java.io.InputStream; import java.math.BigDecimal; import org.junit.Test; import com.fasterxml.jackson.databind.ObjectMapper; /** * Test QuoineTicker JSON parsing */ public class QuoineTickerJSONTest { @Test public void testUnmarshal() throws IOException { // Read in the JSON from the example resources InputStream is = QuoineTickerJSONTest.class.getResourceAsStream("/marketdata/example-ticker-data.json"); // Use Jackson to parse it ObjectMapper mapper = new ObjectMapper(); QuoineProduct quoineTicker = mapper.readValue(is, QuoineProduct.class); // Verify that the example data was unmarshalled correctly assertThat(quoineTicker.getId()).isEqualTo(1); assertThat(quoineTicker.getProductType()).isEqualTo("CASH"); assertThat(quoineTicker.getCode()).isEqualTo("CASH"); assertThat(quoineTicker.getName()).isEqualTo(" CASH Trading"); assertThat(quoineTicker.getMarketAsk()).isEqualTo(new BigDecimal("227.09383")); assertThat(quoineTicker.getMarketBid()).isEqualTo(new BigDecimal("226.78383")); assertThat(quoineTicker.getIndicator()).isEqualTo(-1); assertThat(quoineTicker.getCurrencyPairId()).isEqualTo("1"); assertThat(quoineTicker.getCurrency()).isEqualTo("USD"); assertThat(quoineTicker.getCurrencyPairCode()).isEqualTo("BTCUSD"); assertThat(quoineTicker.getSymbol()).isEqualTo("$"); assertThat(quoineTicker.getBtcMinimumWithdraw()).isEqualTo(new BigDecimal("0.02")); assertThat(quoineTicker.getFiatMinimumWithdraw()).isEqualTo(new BigDecimal("15")); assertThat(quoineTicker.getPusherChannel()).isEqualTo("product_cash_btcusd_1"); assertThat(quoineTicker.getTakerFee()).isEqualTo(new BigDecimal("0.005")); assertThat(quoineTicker.getMakerFee()).isEqualTo(new BigDecimal("0.0")); assertThat(quoineTicker.getLowMarketBid()).isEqualTo(new BigDecimal("222.71")); assertThat(quoineTicker.getHighMarketAsk()).isEqualTo(new BigDecimal("228.92")); assertThat(quoineTicker.getVolume24h()).isEqualTo(new BigDecimal("0.16")); assertThat(quoineTicker.getLastPrice24h()).isEqualTo(new BigDecimal("227.38976")); assertThat(quoineTicker.getCashSpotAsk()).isEqualTo(new BigDecimal("227.09383")); assertThat(quoineTicker.getCashSpotBid()).isEqualTo(new BigDecimal("226.78383")); assertThat(quoineTicker.getLastTradedPrice()).isEqualTo(new BigDecimal("227.38586")); } }