internal void Equals_VariousValues_ReturnsExpectedResult( decimal price1, decimal price2, int millisecondsOffset, bool expected) { // Arrange var tick1 = new TradeTick( this.symbol, Price.Create(price1), Quantity.Create(10000), Maker.Buyer, new MatchId("123456789"), StubZonedDateTime.UnixEpoch()); var tick2 = new TradeTick( this.symbol, Price.Create(price2), Quantity.Create(10000), Maker.Buyer, new MatchId("123456789"), StubZonedDateTime.UnixEpoch() + Duration.FromMilliseconds(millisecondsOffset)); // Act var result1 = tick1.Equals(tick2); var result2 = tick1 == tick2; // Assert Assert.Equal(expected, result1); Assert.Equal(expected, result2); }
internal void ToSerializableString_ReturnsExpectedString() { // Arrange // Act var tick = new TradeTick( this.symbol, Price.Create(1.00000m), Quantity.Create(50000), Maker.Buyer, new MatchId("123456789"), StubZonedDateTime.UnixEpoch()); // Assert Assert.Equal("1.00000,50000,Buyer,123456789,0", tick.ToSerializableString()); }
internal void InitializedTick_WithUnixTimeMs_HasExpectedProperties() { // Arrange // Act var tick = new TradeTick( this.symbol, Price.Create(1.00000m), Quantity.Create(10000), Maker.Buyer, new MatchId("123456789"), 1000); // Assert Assert.Equal("AUD/USD", tick.Symbol.Code); Assert.Equal(decimal.One, tick.Price.Value); Assert.Equal(10000m, tick.Size.Value); Assert.Equal(1970, tick.Timestamp.Year); }
internal void FromString_WithValidString_ReturnsExpectedTick() { // Arrange var tick = new TradeTick( this.symbol, Price.Create(1.00000m), Quantity.Create(10000), Maker.Buyer, new MatchId("123456789"), StubZonedDateTime.UnixEpoch()); // Act var tickString = tick.ToSerializableString(); var result = TradeTick.FromSerializableString(this.symbol, tickString); // Assert Assert.Equal(tick, result); }
/// <inheritdoc /> public void OnData(TradeTick tick) { throw new System.NotImplementedException(); }
/// <summary> /// Send the given trade tick to the data bus. /// </summary> /// <param name="data">The data to send.</param> protected void SendToBus(TradeTick data) { this.dataBusAdapter.SendToBus(data); }
private void OnMessage(TradeTick tick) { this.Publish($"{Trade}:{tick.Symbol.Value}", this.tradeSerializer.Serialize(tick)); }
/// <inheritdoc /> public void SendToBus(TradeTick data) { this.tradeBus.PostData(data); }
/// <inheritdoc /> public void OnData(TradeTick tick) { this.SendToBus(tick); }