public void OnMessageTradeSplitFillTest() { var expectedQuantity = 2; BitfinexTestsHelpers.AddOrder(_unit, 1, "700658426", expectedQuantity); var raised = new ManualResetEvent(false); var expectedFee = 1.72366541m; decimal actualFee = 0; decimal actualQuantity = 0; _unit.OrderStatusChanged += (s, e) => { Assert.AreEqual("BTCUSD", e.Symbol.Value); actualFee += e.OrderFee; actualQuantity += e.AbsoluteFillQuantity; if (e.Status == Orders.OrderStatus.Filled) { Assert.AreEqual(expectedQuantity, actualQuantity); Assert.AreEqual(expectedFee, Math.Round(actualFee, 8)); raised.Set(); } }; foreach (var line in File.ReadLines(Path.Combine("TestData", "bitfinex_fill.json"))) { _unit.OnMessage(_unit, new WebSocketMessage(line)); } Assert.IsTrue(raised.WaitOne(1000)); }
public void OnMessageTradeTest() { var brokerId = "2"; var json = "[0,\"tu\", [\"abc123\",\"1\",\"BTCUSD\",\"1453989092\",\"2\",\"3\",\"4\",\"<ORD_TYPE>\",\"5\",\"6\",\"BTC\"]]"; BitfinexTestsHelpers.AddOrder(_unit, 1, brokerId, 3); var raised = new ManualResetEvent(false); _unit.OrderStatusChanged += (s, e) => { Assert.AreEqual("BTCUSD", e.Symbol.Value); Assert.AreEqual(3, e.FillQuantity); Assert.AreEqual(4m, e.FillPrice); Assert.AreEqual(24m, e.OrderFee); Assert.AreEqual(Orders.OrderStatus.Filled, e.Status); raised.Set(); }; _unit.OnMessage(_unit, new WebSocketMessage(json)); Assert.IsTrue(raised.WaitOne(100)); }