public void NewExecutionMultiple_UpdateTradeSellSide_TradeIsCompleteWithUnusedExecutionSize() { // Create New Trade Object Trade trade = new Trade(TradeSide.Sell, 40, 103, OrderExecutionProvider.Simulated, "0", new Security() { Symbol = "GOOG" }, new DateTime(2015, 01, 21, 18, 20, 57)); string executionIdOne = "1"; int executionSizeOne = 13; // Add new execution trade.Add(executionIdOne, executionSizeOne, 102, new DateTime(2015, 01, 21, 18, 20, 59)); string executionIdTwo = "2"; int executionSizeTwo = 32; // Add new execution int unusedExecutionSize = trade.Add(executionIdTwo, executionSizeTwo, 102.5M, new DateTime(2015, 01, 21, 18, 21, 09)); Assert.IsTrue(trade.IsComplete(), "Trade.IsComplete"); Assert.IsTrue(trade.ExecutionDetails.ContainsKey(executionIdOne), "Execution ID One"); Assert.AreEqual(executionSizeOne, trade.ExecutionDetails[executionIdOne], "Execution Size One"); Assert.IsTrue(trade.ExecutionDetails.ContainsKey(executionIdTwo), "Execution ID Two"); Assert.AreEqual(27, trade.ExecutionDetails[executionIdTwo], "Execution Size Two"); Assert.AreEqual(new DateTime(2015, 01, 21, 18, 20, 57), trade.StartTime, "Trade Start Time"); Assert.AreEqual(new DateTime(2015, 01, 21, 18, 21, 09), trade.CompletionTime, "Trade Completion Time"); Assert.AreEqual(5, unusedExecutionSize, "UnusedExecution Size"); }
public void NewExecution_UpdateTradeBuySide_TradeIsNotComplete() { // Create New Trade Object Trade trade = new Trade(TradeSide.Buy, 40, 103, OrderExecutionProvider.Simulated, "0", new Security() { Symbol = "GOOG" }, new DateTime(2015, 01, 21, 18, 20, 57)); string executionId = "1"; int executionSize = 13; // Add new execution int unusedExecutionSize = trade.Add(executionId, executionSize, 102, new DateTime(2015, 01, 21, 18, 20, 59)); Assert.IsTrue(!trade.IsComplete(), "Trade.IsComplete"); Assert.IsTrue(trade.ExecutionDetails.ContainsKey(executionId), "Execution ID"); Assert.AreEqual(-executionSize, trade.ExecutionDetails[executionId], "Execution Size"); Assert.AreEqual(0, unusedExecutionSize, "UnusedExecution Size"); }