예제 #1
0
        public JsonFixMessage Wrap(QuickFix.Message fixBaseMessage, string pseudoHeader)
        {
            var jsonFixMessage = new JsonFixMessage
            {
                localPseudoHeader = pseudoHeader,
                rawFixPayload     = fixBaseMessage.ToString()
            };

            return(jsonFixMessage);
        }
예제 #2
0
        public void UnwrapMessage_Ok_Sample2()
        {
            // arrange
            var jsonFixMsg = new JsonFixMessage
            {
                localPseudoHeader = "myPseudoHeader",
                // rawFixPayload = "8=FIX.4.2\u00019=67\u000135=D\u000111=0001\u000121=1\u000138=10\u000140=1\u000154=1\u000155=AAPL\u000160=20181013-00:00:00.000\u000110=078\u0001",
                rawFixPayload = "8=FIX.4.2\u00019=00\u000135=D\u000149=Sender\u000156=Target\u000134=0\u000152=99990909-17:17:17.777\u000154=1\u000155=ABC\u000111=BUY000000001\u000138=1000\u000140=2\u000144=1001.000\u000159=3\u0001117=A001\u000146=A001\u000110=000\u0001"
            };

            // act
            QuickFix.Message fixMsg = _jsonFixWrapper.Unwrap(jsonFixMsg);

            // assert
            var expectedTicker = "ABC";

            Assert.Equal(expectedTicker, fixMsg.GetField(55));
        }
예제 #3
0
        public void UnwrapMessage_Ok()
        {
            // arrange
            var jsonFixMsg = new JsonFixMessage
            {
                localPseudoHeader = "myPseudoHeader",
                rawFixPayload     = "8=FIX.4.2\u00019=67\u000135=D\u000111=0001\u000121=1\u000138=10\u000140=1\u000154=1\u000155=AAPL\u000160=20181013-00:00:00.000\u000110=078\u0001",
            };

            // act
            QuickFix.Message fixMsg = _jsonFixWrapper.Unwrap(jsonFixMsg);

            // assert
            var expectedTransactTime = new DateTime(2018, 10, 13).Date;
            var expectedTicker       = "AAPL";
            var expectedQty          = 10m;

            Assert.Equal(expectedTicker, fixMsg.GetField(55));
            Assert.Equal(expectedTransactTime, fixMsg.GetField(new QuickFix.Fields.TransactTime()).getValue());
            Assert.Equal(expectedQty, fixMsg.GetField(new QuickFix.Fields.OrderQty()).getValue());
        }
예제 #4
0
        public QuickFix.Message Unwrap(JsonFixMessage jsonFixMessage)
        {
            var qfMessage = new QuickFix.Message(jsonFixMessage.rawFixPayload, false);

            return(qfMessage);
        }
예제 #5
0
 public T UnwrapAsType <T>(JsonFixMessage jsonFixMessage) where T : QuickFix.FIX42.Message
 {
     throw new NotImplementedException();
 }