コード例 #1
0
        public async Task RunBasicTests(Func <CandlesRequest> request)
        {
            // Most basic request
            var result = await Rest.GetCandlesAsync(request());

            _results.Verify(result.Count > 0, "Retrieved basic candles");

            // Test default values
            var defaultValueProps =
                request().GetType().GetTypeInfo().DeclaredFields.Where(
                    x => null != x.GetCustomAttribute(typeof(DefaultValueAttribute)));

            foreach (var defaultValueProp in defaultValueProps)
            {
                var defaultValue = (DefaultValueAttribute)defaultValueProp.GetCustomAttribute(typeof(DefaultValueAttribute));
                var newRequest   = request();

                var smartProp = (ISmartProperty)defaultValueProp.GetValue(newRequest);
                smartProp.SetValue(defaultValue.Value);
                defaultValueProp.SetValue(newRequest, smartProp);

                try
                {
                    var testResult = await Rest.GetCandlesAsync(newRequest);

                    _results.Verify(result.SequenceEqual(testResult), "Testing default value of " + defaultValueProp.Name);
                }
                catch (Exception ex)
                {
                    _results.Verify(false, "Testing default value of " + defaultValueProp.Name + "\n" + ex);
                }
            }
        }
コード例 #2
0
        private async Task RunAutochartistTest()
        {
            var autochartistData = await Rest.GetAutochartistData(new Dictionary <string, string> {
                { "type", "keylevel" }
            });

            if (_results.Verify(autochartistData != null, "autochartistData retrieved"))
            {
                _results.Verify(autochartistData.Count > 0, "autochartist signals retrieved");
            }
        }
コード例 #3
0
        private Task RunStreamingNotificationsTest()
        {
            EventsSession session = new EventsSession(_accountId);

            _eventReceived        = new Semaphore(0, 100);
            session.DataReceived += OnEventReceived;
            session.StartSession();
            Console.WriteLine("Starting event stream test");
            return(Task.Run(() =>
            {
                bool success = _eventReceived.WaitOne(10000);
                session.StopSession();
                _results.Verify(success, "Streaming events successfully received");
            }
                            ));
        }