Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- scala> import net.debasishg.domain.trade.dsl._
- import net.debasishg.domain.trade.dsl._
- scala> import Trades._
- import Trades._
- scala> import scalaz._
- import scalaz._
- scala> import Scalaz._
- import Scalaz._
- scala> val t1 = Map("account" -> "a-123", "instrument" -> "google", "refNo" -> "r-123", "market" -> "HongKong", "unitPrice" -> "12.25", "quantity" -> "200")
- t1: scala.collection.immutable.Map[java.lang.String,java.lang.String] = Map((quantity,200), (market,HongKong), (refNo,r-123), (account,a-123), (unitPrice,12.25), (instrument,google))
- scala> val t2 = Map("account" -> "b-123", "instrument" -> "ibm", "refNo" -> "r-234", "market" -> "Singapore", "unitPrice" -> "15.25", "quantity" -> "400")
- t2: scala.collection.immutable.Map[java.lang.String,java.lang.String] = Map((quantity,400), (market,Singapore), (refNo,r-234), (account,b-123), (unitPrice,15.25), (instrument,ibm))
- scala> val trd1 = makeTrade(t1)
- trd1: Option[net.debasishg.domain.trade.dsl.Trades.Trade] = Some(Trade(a-123,google,r-123,HongKong,12.25,200))
- scala> trd1 ∘ lifecycle
- res0: Option[Option[net.debasishg.domain.trade.dsl.Trades.RichTrade]] = Some(Some(RichTrade(Trade(a-123,google,r-123,HongKong,12.25,200),Map(TradeTax -> 490.000, Commission -> 367.5000))))
- scala> val trd2 = makeTrade(t2)
- trd2: Option[net.debasishg.domain.trade.dsl.Trades.Trade] = Some(Trade(b-123,ibm,r-234,Singapore,15.25,400))
- scala> List(trd1, trd2) ∘∘ lifecycle
- res1: List[Option[Option[net.debasishg.domain.trade.dsl.Trades.RichTrade]]] = List(Some(Some(RichTrade(Trade(a-123,google,r-123,HongKong,12.25,200),Map(TradeTax -> 490.000, Commission -> 367.5000)))), Some(Some(RichTrade(Trade(b-123,ibm,r-234,Singapore,15.25,400),Map(TradeTax -> 1220.000, Commission -> 915.0000, VAT -> 610.000)))))
Add Comment
Please, Sign In to add comment