Ejemplo n.º 1
0
        public IEnumerable <TradeData> RequestTrades(string[] symbols)
        {
            var url  = TRADES_URL + SYMBOLS_ARG + string.Join(",", symbols);
            var json = Request(url).Result;

            if (json == null)
            {
                yield break;
            }
            if (!(json is JObject))
            {
                yield break;
            }

            JObject jobject = json as JObject;

            foreach (var tradeProperty in jobject.Children <JProperty>())
            {
                TradeData tradeData = TradeData.FromJson(tradeProperty);
                if (tradeData != null)
                {
                    yield return(tradeData);
                }
            }
        }
Ejemplo n.º 2
0
        public void TradeDataFromJson_Empty()
        {
            var json = JsonConvert.DeserializeObject(
                @" {
""SNAP"": [
    {
      ""price"": 156.1,
      ""size"": 100,
      ""tradeId"": 517341294,
      ""isISO"": false,
      ""isOddLot"": false,
      ""isOutsideRegularHours"": false,
      ""isSinglePriceCross"": false,
      ""isTradeThroughExempt"": false,
      ""timestamp"": 1000
    }
  ]
}");

            Assert.IsNotNull(json);
            Assert.IsInstanceOfType(json, typeof(JObject));

            var yelpProperty = (json as JObject).First as JProperty;

            var tradeData = TradeData.FromJson(yelpProperty);

            Assert.IsNotNull(tradeData);

            Assert.AreEqual("SNAP", tradeData.Symbol);

            Assert.IsNotNull(tradeData.Trades);
            Assert.AreEqual(1, tradeData.Trades.Count);

            var trade0 = tradeData.Trades[0];

            Assert.IsNotNull(trade0);
            Assert.AreEqual(156.1m, trade0.Price);
            Assert.AreEqual(100, trade0.Size);
            Assert.AreEqual("517341294", trade0.TradeId);
            Assert.AreEqual(false, trade0.IsIso);
            Assert.AreEqual(false, trade0.IsOddLot);
            Assert.AreEqual(false, trade0.IsOutsideRegularHours);
            Assert.AreEqual(false, trade0.IsSinglePriceCross);
            Assert.AreEqual(false, trade0.IsTradeThroughExempt);
            Assert.AreEqual(new DateTime(1970, 1, 1, 1, 0, 1, DateTimeKind.Local), trade0.Timestamp);
        }