// Path: src/main/java/com/github/sbouclier/result/OHLCResult.java
// public class OHLCResult extends ResultWithLastId<Map<String, List<OHLCResult.OHLC>>> {
// 
//     @JsonFormat(shape = JsonFormat.Shape.ARRAY)
//     @JsonPropertyOrder({"time", "open", "high", "low", "close", "vwap", "volume", "count"})
//     public static class OHLC {
//         public Integer time;
//         public BigDecimal open;
//         public BigDecimal high;
//         public BigDecimal low;
//         public BigDecimal close;
//         public BigDecimal vwap;
//         public BigDecimal volume;
//         public Integer count;
// 
//         @Override
//         public String toString() {
//             return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
//                     .append("time", time)
//                     .append("open", open)
//                     .append("low", low)
//                     .append("close", close)
//                     .append("vwap", vwap)
//                     .append("volume", volume)
//                     .append("count", count)
//                     .toString();
//         }
//     }
// }
// 
// Path: src/main/java/com/github/sbouclier/result/RecentSpreadResult.java
// public class RecentSpreadResult extends ResultWithLastId<Map<String, List<RecentSpreadResult.Spread>>> {
// 
//     @JsonFormat(shape = JsonFormat.Shape.ARRAY)
//     @JsonPropertyOrder({"time", "bid", "ask"})
//     public static class Spread {
//         public Integer time;
//         public BigDecimal bid;
//         public BigDecimal ask;
// 
//         private Spread() {}
// 
//         public Spread(Integer time, BigDecimal bid, BigDecimal ask) {
//             this.time = time;
//             this.bid = bid;
//             this.ask = ask;
//         }
// 
//         @Override
//         public String toString() {
//             return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
//                     .append("time", time)
//                     .append("bid", bid)
//                     .append("ask", ask)
//                     .toString();
//         }
//     }
// }
// 
// Path: src/main/java/com/github/sbouclier/result/RecentTradeResult.java
// public class RecentTradeResult extends ResultWithLastId<Map<String, List<RecentTradeResult.RecentTrade>>> {
// 
//     @JsonFormat(shape = JsonFormat.Shape.ARRAY)
//     @JsonPropertyOrder({"price", "volume", "time", "buySell", "marketLimit", "miscellaneous"})
//     public static class RecentTrade {
//         public BigDecimal price;
//         public BigDecimal volume;
//         public BigDecimal time;
// 
//         public Object buySell;
//         public String marketLimit;
//         public String miscellaneous;
// 
//         @Override
//         public String toString() {
//             return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
//                     .append("price", price)
//                     .append("volume", volume)
//                     .append("time", time)
//                     .append("buySell", buySell)
//                     .append("marketLimit", marketLimit)
//                     .append("miscellaneous", miscellaneous)
//                     .toString();
//         }
//     }
// }


import com.github.sbouclier.result.OHLCResult;
import com.github.sbouclier.result.RecentSpreadResult;
import com.github.sbouclier.result.RecentTradeResult;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
package com.github.sbouclier.mock;



/**
 * Helper for building {@link com.github.sbouclier.result.Result} mocks
 *
 * @author Stéphane Bouclier
 */
public class MockInitHelper {

    private MockInitHelper() {
    }

    public static RecentTradeResult buildRecentTradeResult() {
        RecentTradeResult mockResult = new RecentTradeResult();
        Map<String, List<RecentTradeResult.RecentTrade>> map = new HashMap<>();

        List<RecentTradeResult.RecentTrade> trades = new ArrayList<>();
        RecentTradeResult.RecentTrade trade1 = new RecentTradeResult.RecentTrade();
        trade1.price = BigDecimal.TEN;
        trade1.volume = BigDecimal.ONE;

        RecentTradeResult.RecentTrade trade2 = new RecentTradeResult.RecentTrade();
        trade2.price = BigDecimal.valueOf(20);
        trade2.volume = BigDecimal.valueOf(2);

        trades.add(trade1);
        trades.add(trade2);

        map.put("XXBTZEUR", trades);
        mockResult.setResult(map);
        mockResult.setLastId(123456L);

        return mockResult;
    }

// Path: src/main/java/com/github/sbouclier/result/OHLCResult.java
// public class OHLCResult extends ResultWithLastId<Map<String, List<OHLCResult.OHLC>>> {
// 
//     @JsonFormat(shape = JsonFormat.Shape.ARRAY)
//     @JsonPropertyOrder({"time", "open", "high", "low", "close", "vwap", "volume", "count"})
//     public static class OHLC {
//         public Integer time;
//         public BigDecimal open;
//         public BigDecimal high;
//         public BigDecimal low;
//         public BigDecimal close;
//         public BigDecimal vwap;
//         public BigDecimal volume;
//         public Integer count;
// 
//         @Override
//         public String toString() {
//             return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
//                     .append("time", time)
//                     .append("open", open)
//                     .append("low", low)
//                     .append("close", close)
//                     .append("vwap", vwap)
//                     .append("volume", volume)
//                     .append("count", count)
//                     .toString();
//         }
//     }
// }
// 
// Path: src/main/java/com/github/sbouclier/result/RecentSpreadResult.java
// public class RecentSpreadResult extends ResultWithLastId<Map<String, List<RecentSpreadResult.Spread>>> {
// 
//     @JsonFormat(shape = JsonFormat.Shape.ARRAY)
//     @JsonPropertyOrder({"time", "bid", "ask"})
//     public static class Spread {
//         public Integer time;
//         public BigDecimal bid;
//         public BigDecimal ask;
// 
//         private Spread() {}
// 
//         public Spread(Integer time, BigDecimal bid, BigDecimal ask) {
//             this.time = time;
//             this.bid = bid;
//             this.ask = ask;
//         }
// 
//         @Override
//         public String toString() {
//             return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
//                     .append("time", time)
//                     .append("bid", bid)
//                     .append("ask", ask)
//                     .toString();
//         }
//     }
// }
// 
// Path: src/main/java/com/github/sbouclier/result/RecentTradeResult.java
// public class RecentTradeResult extends ResultWithLastId<Map<String, List<RecentTradeResult.RecentTrade>>> {
// 
//     @JsonFormat(shape = JsonFormat.Shape.ARRAY)
//     @JsonPropertyOrder({"price", "volume", "time", "buySell", "marketLimit", "miscellaneous"})
//     public static class RecentTrade {
//         public BigDecimal price;
//         public BigDecimal volume;
//         public BigDecimal time;
// 
//         public Object buySell;
//         public String marketLimit;
//         public String miscellaneous;
// 
//         @Override
//         public String toString() {
//             return new ToStringBuilder(this, ToStringStyle.SHORT_PREFIX_STYLE)
//                     .append("price", price)
//                     .append("volume", volume)
//                     .append("time", time)
//                     .append("buySell", buySell)
//                     .append("marketLimit", marketLimit)
//                     .append("miscellaneous", miscellaneous)
//                     .toString();
//         }
//     }
// }


// Path: src/test/java/com/github/sbouclier/mock/MockInitHelper.java
import com.github.sbouclier.result.OHLCResult;
import com.github.sbouclier.result.RecentSpreadResult;
import com.github.sbouclier.result.RecentTradeResult;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

package com.github.sbouclier.mock;



/**
 * Helper for building {@link com.github.sbouclier.result.Result} mocks
 *
 * @author Stéphane Bouclier
 */
public class MockInitHelper {

    private MockInitHelper() {
    }

    public static RecentTradeResult buildRecentTradeResult() {
        RecentTradeResult mockResult = new RecentTradeResult();
        Map<String, List<RecentTradeResult.RecentTrade>> map = new HashMap<>();

        List<RecentTradeResult.RecentTrade> trades = new ArrayList<>();
        RecentTradeResult.RecentTrade trade1 = new RecentTradeResult.RecentTrade();
        trade1.price = BigDecimal.TEN;
        trade1.volume = BigDecimal.ONE;

        RecentTradeResult.RecentTrade trade2 = new RecentTradeResult.RecentTrade();
        trade2.price = BigDecimal.valueOf(20);
        trade2.volume = BigDecimal.valueOf(2);

        trades.add(trade1);
        trades.add(trade2);

        map.put("XXBTZEUR", trades);
        mockResult.setResult(map);
        mockResult.setLastId(123456L);

        return mockResult;
    }

    public static RecentSpreadResult buildRecentSpreadResult() {