Beispiel #1
0
        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);
        }
Beispiel #2
0
        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());
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
 /// <inheritdoc />
 public void OnData(TradeTick tick)
 {
     throw new System.NotImplementedException();
 }
Beispiel #6
0
 /// <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);
 }
Beispiel #7
0
 private void OnMessage(TradeTick tick)
 {
     this.Publish($"{Trade}:{tick.Symbol.Value}", this.tradeSerializer.Serialize(tick));
 }
Beispiel #8
0
 /// <inheritdoc />
 public void SendToBus(TradeTick data)
 {
     this.tradeBus.PostData(data);
 }
Beispiel #9
0
 /// <inheritdoc />
 public void OnData(TradeTick tick)
 {
     this.SendToBus(tick);
 }