public void EstimizeConsensusReaderTest() { var dataCacheProvider = new SingleEntryDataCacheProvider(new DefaultDataProvider()); var config = new SubscriptionDataConfig( typeof(EstimizeConsensus), Symbol.Create("AAPL.C", SecurityType.Base, QuantConnect.Market.USA), Resolution.Daily, DateTimeZone.Utc, DateTimeZone.Utc, false, false, false, true ); var data = new EstimizeConsensus(); var date = new DateTime(2019, 6, 10); var source = data.GetSource(config, date, false); var factory = SubscriptionDataSourceReader.ForSource(source, dataCacheProvider, config, date, false, data); var rows = factory.Read(source).ToList(); Assert.IsTrue(rows.Count > 0); }
public void EstimizeConsensusReaderDoesNotThrow() { var data = "20100101 12:00:00,abcdef123456789deadbeef,Estimize,Revenue,100.00,100,100,50,2010,1,100"; var instance = new EstimizeConsensus(); var fakeConfig = new SubscriptionDataConfig( typeof(EstimizeConsensus), Symbol.Create("AAPL", SecurityType.Base, "USA"), Resolution.Daily, TimeZones.Utc, TimeZones.Utc, false, false, false ); Assert.DoesNotThrow(() => { instance.Reader(fakeConfig, data, DateTime.MinValue, false); }); }
public void SerializeRoundTripEstimizeConsensus() { var time = new DateTime(2020, 3, 19, 10, 0, 0); var underlyingSymbol = Symbols.AAPL; var symbol = Symbol.CreateBase(typeof(EstimizeConsensus), underlyingSymbol, QuantConnect.Market.USA); var item = new EstimizeConsensus { Id = "123", Symbol = symbol, FiscalYear = 2020, FiscalQuarter = 1, Source = Source.WallStreet, Type = QuantConnect.Data.Custom.Estimize.Type.Eps, Count = 3, Mean = 2, UpdatedAt = time }; using (var stream = new MemoryStream()) { Serializer.Serialize(stream, item); stream.Position = 0; var deserialized = Serializer.Deserialize <EstimizeConsensus>(stream); Assert.AreEqual("123", deserialized.Id); Assert.AreEqual(2020, deserialized.FiscalYear); Assert.AreEqual(1, deserialized.FiscalQuarter); Assert.AreEqual(Source.WallStreet, deserialized.Source); Assert.AreEqual(QuantConnect.Data.Custom.Estimize.Type.Eps, deserialized.Type); Assert.AreEqual(3, deserialized.Count); Assert.AreEqual(2, deserialized.Mean); Assert.AreEqual(time, deserialized.UpdatedAt); Assert.AreEqual(time, deserialized.Time); Assert.AreEqual(time, deserialized.EndTime); } }
public void SerializeRoundTripEstimizeConsensus() { var settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All }; var time = new DateTime(2020, 3, 19, 10, 0, 0); var underlyingSymbol = Symbols.AAPL; var symbol = Symbol.CreateBase(typeof(EstimizeConsensus), underlyingSymbol, QuantConnect.Market.USA); var item = new EstimizeConsensus { Id = "123", Symbol = symbol, FiscalYear = 2020, FiscalQuarter = 1, Source = Source.WallStreet, Type = Type.Eps, Count = 3, Mean = 2, UpdatedAt = time }; var serialized = JsonConvert.SerializeObject(item, settings); var deserialized = JsonConvert.DeserializeObject <EstimizeConsensus>(serialized, settings); Assert.AreEqual("123", deserialized.Id); Assert.AreEqual(symbol, deserialized.Symbol); Assert.AreEqual(2020, deserialized.FiscalYear); Assert.AreEqual(1, deserialized.FiscalQuarter); Assert.AreEqual(Source.WallStreet, deserialized.Source); Assert.AreEqual(Type.Eps, deserialized.Type); Assert.AreEqual(3, deserialized.Count); Assert.AreEqual(2, deserialized.Mean); Assert.AreEqual(time, deserialized.UpdatedAt); Assert.AreEqual(time, deserialized.Time); Assert.AreEqual(time, deserialized.EndTime); }
/// <summary> /// OnData event is the primary entry point for your algorithm. Each new data point will be pumped in here. /// </summary> /// <param name="data">EstimizeConsensus object containing the stock release data</param> public void OnData(EstimizeConsensus data) { Log($"{Time} - {data}"); }