package org.cryptocoinpartners.schema; import java.math.BigDecimal; import java.util.Collections; import java.util.UUID; import javax.persistence.NoResultException; import org.apache.commons.configuration.ConfigurationException; import org.cryptocoinpartners.util.ConfigUtil; import org.cryptocoinpartners.util.PersistUtil; import org.joda.time.Instant; import org.junit.Ignore; import com.google.inject.Inject; /** This is not yet a real JUnit test case */ @Ignore public class BookTest { @Inject static Market markets; public static void main(String[] args) throws ConfigurationException { init(); String id = "2af579e1-7b2d-40f5-b341-49ef632e5b7e"; try { Book book = PersistUtil.findById(Book.class, UUID.fromString(id)); System.out.println("found " + id + (book.getParent() == null ? " with no parent" : " with parent " + book.getParent().getId()) + ":\n" + book); } catch (NoResultException e) { System.out.println(id + " not found"); } Book.Builder b = new Book.Builder(); b.start(Instant.now(), null, markets.findOrCreate(Exchanges.BITSTAMP, Listing.forSymbol("BTC.USD"))); b.addBid(new BigDecimal("2.1"), new BigDecimal("1.04")); b.addBid(new BigDecimal("2.2"), new BigDecimal("1.03")); b.addBid(new BigDecimal("2.3"), new BigDecimal("1.02")); b.addBid(new BigDecimal("2.4"), new BigDecimal("1.01")); b.addAsk(new BigDecimal("2.5"), new BigDecimal("1.01")); b.addAsk(new BigDecimal("2.6"), new BigDecimal("1.02")); b.addAsk(new BigDecimal("2.7"), new BigDecimal("1.03")); b.addAsk(new BigDecimal("2.8"), new BigDecimal("1.04")); Book parent = b.build(); PersistUtil.insert(parent); System.out.println("saved parent " + parent.getId()); b.start(Instant.now(), null, markets.findOrCreate(Exchanges.BITSTAMP, Listing.forSymbol("BTC.USD"))); b.addBid(new BigDecimal("2.1"), new BigDecimal("1.04")); b.addBid(new BigDecimal("2.2"), new BigDecimal("1.03")); //b.addBid(new BigDecimal("2.3"), new BigDecimal("1.02")); b.addBid(new BigDecimal("2.4"), new BigDecimal("1.01")); //b.addAsk(new BigDecimal("2.5"), new BigDecimal("1.01")); b.addAsk(new BigDecimal("2.52"), new BigDecimal("1.01")); b.addAsk(new BigDecimal("2.6"), new BigDecimal("1.02")); b.addAsk(new BigDecimal("2.7"), new BigDecimal("1.03")); b.addAsk(new BigDecimal("2.8"), new BigDecimal("1.04")); b.addAsk(new BigDecimal("2.82"), new BigDecimal("1.05")); Book child = b.build(); PersistUtil.insert(child); System.out.println("saved child " + child.getId()); b.start(Instant.now(), null, markets.findOrCreate(Exchanges.BITSTAMP, Listing.forSymbol("BTC.USD"))); b.addBid(new BigDecimal("2.1"), new BigDecimal("1.04")); b.addBid(new BigDecimal("2.2"), new BigDecimal("1.03")); b.addBid(new BigDecimal("2.25"), new BigDecimal("1.02")); //b.addBid(new BigDecimal("2.3"), new BigDecimal("1.02")); b.addBid(new BigDecimal("2.4"), new BigDecimal("1.01")); //b.addAsk(new BigDecimal("2.5"), new BigDecimal("1.01")); b.addAsk(new BigDecimal("2.52"), new BigDecimal("1.01")); b.addAsk(new BigDecimal("2.6"), new BigDecimal("1.02")); b.addAsk(new BigDecimal("2.7"), new BigDecimal("1.03")); b.addAsk(new BigDecimal("2.75"), new BigDecimal("1.035")); b.addAsk(new BigDecimal("2.8"), new BigDecimal("1.04")); //b.addAsk(new BigDecimal("2.82"), new BigDecimal("1.05")); child = b.build(); PersistUtil.insert(child); System.out.println("saved grandchild " + child.getId()); PersistUtil.shutdown(); } /** something like this will be required for all test cases to be initialized */ public static void init() throws ConfigurationException { ConfigUtil.init("cointrader.properties", Collections.<String, String> emptyMap()); PersistUtil.init(); } }