public void Deserialize_ThrowsExecption_IfMessageIsGreaterThan35Bytes()
        {
            var       bytes = new byte[136];
            Exception ex    = Assert.Throws <Exception>(() => FillSerializer.Deserialize(bytes));

            Assert.Equal("Fill Message must be of Size : 135", ex.Message);
        }
        public void Deserialize_ThrowsExecption_IfMessageIsNothaveValidType()
        {
            var       bytes = new byte[135];
            Exception ex    = Assert.Throws <Exception>(() => FillSerializer.Deserialize(bytes));

            Assert.Equal(Types.Constant.INVALID_MESSAGE, ex.Message);
        }
Exemplo n.º 3
0
        private void OnMessage(byte[] body)
        {
            var    type = Serializer.GetMessageType(body);
            object obj  = null;

            switch (type)
            {
            case MessageType.Cancel:
                obj = CancelledOrderSerializer.Deserialize(body);
                break;

            case MessageType.Fill:
                obj = FillSerializer.Deserialize(body);
                break;

            case MessageType.OrderTrigger:
                obj = OrderTriggerSerializer.Deserialize(body);
                break;

            default:
                //TODO
                break;
            }
            var message = new Message(type.Value, body, obj);

            _inboundChannelWritter.TryWrite(message);
        }
Exemplo n.º 4
0
        public void Deserialize_ThrowsExecption_IfMessageIsNothaveValidType()
        {
            var       bytes = new byte[60];
            Exception ex    = Assert.Throws <Exception>(() => FillSerializer.Deserialize(bytes));

            Assert.Equal("Invalid Message", ex.Message);
        }
        public void Deserialize_ThrowsExecption_IfVersionIsNotSet()
        {
            var bytes = new byte[135];

            bytes[4] = (byte)MessageType.Fill;
            Exception ex = Assert.Throws <Exception>(() => FillSerializer.Deserialize(bytes));

            Assert.Equal(Types.Constant.INVALID_VERSION, ex.Message);
        }
Exemplo n.º 6
0
        public void Deserialize_ThrowsExecption_IfVersionIsNotSet()
        {
            var bytes = new byte[60];

            bytes[4] = (byte)MessageType.Fill;
            Exception ex = Assert.Throws <Exception>(() => FillSerializer.Deserialize(bytes));

            Assert.Equal("version mismatch", ex.Message);
        }
Exemplo n.º 7
0
        public void Deserialize_Doesnotthrowexception_Max()
        {
            var bytes = FillSerializer.Serialize(new Fill {
                MakerOrderId = OrderId.MaxValue, TakerOrderId = OrderId.MaxValue, Timestamp = int.MaxValue, MatchQuantity = int.MaxValue, MatchRate = int.MaxValue, IncomingOrderFilled = true
            });
            var messageLength = BitConverter.ToInt32(bytes, 0);

            Assert.Equal(60, messageLength);
            var fill = FillSerializer.Deserialize(bytes);

            Assert.Equal(OrderId.MaxValue, fill.MakerOrderId);
            Assert.Equal(OrderId.MaxValue, fill.TakerOrderId);
            Assert.Equal((Price)int.MaxValue, fill.MatchRate);
            Assert.Equal((Quantity)int.MaxValue, fill.MatchQuantity);
            Assert.Equal(int.MaxValue, fill.Timestamp);
            Assert.True(fill.IncomingOrderFilled);
        }
Exemplo n.º 8
0
        public void Deserialize_Doesnotthrowexception()
        {
            var bytes = FillSerializer.Serialize(new Fill {
                MakerOrderId = 12345678, TakerOrderId = 56789, Timestamp = 404, MatchQuantity = 2356, MatchRate = 9534, IncomingOrderFilled = true
            });
            var messageLength = BitConverter.ToInt32(bytes, 0);

            Assert.Equal(60, messageLength);
            var fill = FillSerializer.Deserialize(bytes);

            Assert.Equal((OrderId)12345678, fill.MakerOrderId);
            Assert.Equal((OrderId)56789, fill.TakerOrderId);
            Assert.Equal((Price)9534, fill.MatchRate);
            Assert.Equal((Quantity)2356, fill.MatchQuantity);
            Assert.Equal(404, fill.Timestamp);
            Assert.True(fill.IncomingOrderFilled);
        }
Exemplo n.º 9
0
        public void Deserialize_Doesnotthrowexception_Max()
        {
            var bytes = FillSerializer.Serialize(new Fill {
                MakerOrderId = OrderId.MaxValue, TakerOrderId = OrderId.MaxValue, Timestamp = int.MaxValue, MatchQuantity = int.MaxValue, MatchRate = int.MaxValue, BidCost = Quantity.MaxValue, AskRemainingQuantity = Quantity.MaxValue
            });
            var messageLength = BitConverter.ToInt32(bytes, 0);

            Assert.Equal(93, messageLength);
            var fill = FillSerializer.Deserialize(bytes);

            Assert.Equal(OrderId.MaxValue, fill.MakerOrderId);
            Assert.Equal(OrderId.MaxValue, fill.TakerOrderId);
            Assert.Equal(int.MaxValue, fill.MatchRate);
            Assert.Equal(int.MaxValue, fill.MatchQuantity);
            Assert.Equal(int.MaxValue, fill.Timestamp);
            Assert.Equal(Quantity.MaxValue, fill.AskRemainingQuantity);
            Assert.Equal(Quantity.MaxValue, fill.BidCost);
        }
Exemplo n.º 10
0
        public void Deserialize_Doesnotthrowexception_AskRemainingQuantityNull()
        {
            var bytes = FillSerializer.Serialize(new Fill {
                MakerOrderId = 12345678, TakerOrderId = 56789, Timestamp = 404, MatchQuantity = 2356, MatchRate = 9534, BidCost = 4347, AskRemainingQuantity = null
            });
            var messageLength = BitConverter.ToInt32(bytes, 0);

            Assert.Equal(93, messageLength);
            var fill = FillSerializer.Deserialize(bytes);

            Assert.Equal((OrderId)12345678, fill.MakerOrderId);
            Assert.Equal((OrderId)56789, fill.TakerOrderId);
            Assert.Equal(9534, fill.MatchRate);
            Assert.Equal(2356, fill.MatchQuantity);
            Assert.Equal(404, fill.Timestamp);
            Assert.Equal(4347, fill.BidCost);
            Assert.Null(fill.AskRemainingQuantity);
        }
Exemplo n.º 11
0
        public void Deserialize_Doesnotthrowexception_Min()
        {
            Span <byte> bytes = stackalloc byte[FillSerializer.MessageSize];

            FillSerializer.Serialize(new Fill {
                MakerOrderId = OrderId.MinValue, TakerOrderId = OrderId.MinValue, Timestamp = int.MinValue, MatchQuantity = int.MinValue, MatchRate = int.MinValue, BidCost = Quantity.MinValue, BidFee = Quantity.MinValue, AskRemainingQuantity = Quantity.MinValue, AskFee = Quantity.MinValue
            }, bytes);
            var messageLength = BitConverter.ToInt32(bytes.Slice(0));

            Assert.Equal(127, messageLength);
            var fill = FillSerializer.Deserialize(bytes);

            Assert.Equal(OrderId.MinValue, fill.MakerOrderId);
            Assert.Equal(OrderId.MinValue, fill.TakerOrderId);
            Assert.Equal(int.MinValue, fill.MatchRate);
            Assert.Equal(int.MinValue, fill.MatchQuantity);
            Assert.Equal(int.MinValue, fill.Timestamp);
            Assert.Equal(Quantity.MinValue, fill.BidCost);
            Assert.Equal(Quantity.MinValue, fill.BidFee);
            Assert.Equal(Quantity.MinValue, fill.AskRemainingQuantity);
            Assert.Equal(Quantity.MinValue, fill.AskFee);
        }
Exemplo n.º 12
0
        public void Deserialize_Doesnotthrowexception_AskRemainingQuantityNull()
        {
            Span <byte> bytes = stackalloc byte[FillSerializer.MessageSize];

            FillSerializer.Serialize(new Fill {
                MakerOrderId = 12345678, TakerOrderId = 56789, Timestamp = 404, MatchQuantity = 2356, MatchRate = 9534, BidCost = 4347, BidFee = 891434, AskRemainingQuantity = null, AskFee = null
            }, bytes);
            var messageLength = BitConverter.ToInt32(bytes.Slice(0));

            Assert.Equal(127, messageLength);
            var fill = FillSerializer.Deserialize(bytes);

            Assert.Equal((OrderId)12345678, fill.MakerOrderId);
            Assert.Equal((OrderId)56789, fill.TakerOrderId);
            Assert.Equal(9534, fill.MatchRate);
            Assert.Equal(2356, fill.MatchQuantity);
            Assert.Equal(404, fill.Timestamp);
            Assert.Equal(4347, fill.BidCost);
            Assert.Equal(891434, fill.BidFee);
            Assert.Null(fill.AskRemainingQuantity);
            Assert.Null(fill.AskFee);
        }
        public void Deserialize_Doesnotthrowexception()
        {
            Span <byte> bytes = stackalloc byte[FillSerializer.MessageSize];

            FillSerializer.Serialize(new Fill {
                MakerOrderId = 12345678, TakerOrderId = 56789, Timestamp = 404, MatchQuantity = 2356, MatchRate = 9534, BidCost = 4347, BidFee = 76157, AskRemainingQuantity = 87135, AskFee = 12103, MessageSequence = 6812379
            }, bytes);
            var messageLength = BitConverter.ToInt32(bytes.Slice(0));

            Assert.Equal(135, messageLength);
            var fill = FillSerializer.Deserialize(bytes);

            Assert.Equal((OrderId)12345678, fill.MakerOrderId);
            Assert.Equal((OrderId)56789, fill.TakerOrderId);
            Assert.Equal(9534, fill.MatchRate);
            Assert.Equal(2356, fill.MatchQuantity);
            Assert.Equal(404, fill.Timestamp);
            Assert.Equal(4347, fill.BidCost);
            Assert.Equal(76157, fill.BidFee);
            Assert.Equal(87135, fill.AskRemainingQuantity);
            Assert.Equal(12103, fill.AskFee);
            Assert.Equal(6812379, fill.MessageSequence);
        }
        public void Deserialize_ThrowsExecption_IfNullPassed()
        {
            ArgumentNullException ex = Assert.Throws <ArgumentNullException>(() => FillSerializer.Deserialize(null));

            Assert.Equal("bytes", ex.ParamName);
        }
 public void fillBinaryDeserialize()
 {
     var fill = FillSerializer.Deserialize(fillBinary);
 }
Exemplo n.º 16
0
 public void FillBinaryDeserialize()
 {
     FillSerializer.Deserialize(fillBinary);
 }