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); } } }
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"); } }
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"); } )); }