Ejemplo n.º 1
0
        /// <inheritdoc/>
        public IQuik Create(QuikClientOptions options)
        {
            var pendingResultContainer = new PendingResultContainer();
            var eventTypeProvider      = new EventTypeProvider();
            var serializer             = new QuikJsonSerializer(pendingResultContainer, eventTypeProvider);
            var typeConverter          = new CachingQuikTypeConverter();
            var idProvider             = new UniqueIdProvider();
            var dateTimeProvider       = new CurrentDateTimeProvider();
            var messageFactory         = new MessageFactory(idProvider, dateTimeProvider);

            var quikEvents   = new QuikEvents();
            var eventHandler = new EventInvoker(quikEvents);
            var quikClient   = new QuikClient(eventHandler, serializer, pendingResultContainer, options,
                                              _loggerFactory.CreateLogger <QuikClient>());

            var quik = new Quik(
                quikClient,
                new Functions.QuikFunctions(
                    new ServiceFunctions(messageFactory, quikClient, typeConverter),
                    new TableRowFunctions(messageFactory, quikClient, typeConverter),
                    new ClassFunctions(messageFactory, quikClient, typeConverter),
                    new WorkstationFunctions(messageFactory, quikClient, typeConverter),
                    new CandleFunctions(messageFactory, quikClient, typeConverter),
                    new LabelFunctions(messageFactory, quikClient, typeConverter),
                    new OrderBookFunctions(messageFactory, quikClient, typeConverter),
                    new QuotesTableParametersFunctions(messageFactory, quikClient, typeConverter),
                    new DebugFunctions(messageFactory, quikClient, typeConverter),
                    new CustomFunctions(messageFactory, quikClient, typeConverter)),
                quikEvents);

            quikClient.SetEventSender(quik);
            quikEvents.SetEventSender(quik);

            return(quik);
        }
Ejemplo n.º 2
0
        public void EnumParse_QuikTypeConverter_ParseEnum()
        {
            var value   = TransactionAction.KILL_ALL_ORDERS.ToString();
            var results = new List <TransactionAction>(_enumCheckCount);

            var typeConverter = new CachingQuikTypeConverter();

            for (var r = 0; r < _enumCheckCount; r++)
            {
                results.Add(typeConverter.ParseEnum <TransactionAction>(value));
            }
        }
Ejemplo n.º 3
0
        public void EnumIsDefined_QuikTypeConverter_IsEnumDefined()
        {
            var value   = TransactionAction.KILL_ALL_ORDERS;
            var results = new List <bool>(_enumCheckCount);

            var typeConverter = new CachingQuikTypeConverter();

            for (var r = 0; r < _enumCheckCount; r++)
            {
                results.Add(typeConverter.IsEnumDefined(value));
            }
        }
Ejemplo n.º 4
0
        public void IntToString_QuikTypeConverter_ToStringLookup()
        {
            var results       = new List <string>(_roundCount * (_endIndex - _startIndex + 1));
            var typeConverter = new CachingQuikTypeConverter();

            for (var r = 0; r < _roundCount; r++)
            {
                for (var i = _startIndex; i <= _endIndex; i++)
                {
                    results.Add(typeConverter.ToStringLookup(i));
                }
            }
        }
Ejemplo n.º 5
0
        public void EnumTryParse_QuikTypeConverter_ParseEnum()
        {
            var stringValue = TransactionAction.KILL_ALL_ORDERS.ToString();
            var results     = new List <TransactionAction>(_enumCheckCount);

            var typeConverter = new CachingQuikTypeConverter();

            for (var r = 0; r < _enumCheckCount; r++)
            {
                typeConverter.TryParseEnum <TransactionAction>(stringValue, out var enumValue);
                results.Add(enumValue);
            }
        }
Ejemplo n.º 6
0
        public void EnumToString_QuikTypeConverter_ToString()
        {
            var values  = (TransactionAction[])Enum.GetValues(typeof(TransactionAction));
            var results = new List <string>(_roundCount * values.Length);

            var typeConverter = new CachingQuikTypeConverter();

            for (var r = 0; r < _roundCount; r++)
            {
                for (var i = 0; i < values.Length; i++)
                {
                    results.Add(typeConverter.ToString(values[i]));
                }
            }
        }