Ejemplo n.º 1
0
        public void SerializeRoundTrip()
        {
            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(RobintrackHoldings), underlyingSymbol, QuantConnect.Market.USA);

            var item = new RobintrackHoldings
            {
                Symbol              = symbol,
                EndTime             = time,
                UsersHolding        = 1,
                TotalUniqueHoldings = 1000
            };

            var serialized   = JsonConvert.SerializeObject(item, settings);
            var deserialized = JsonConvert.DeserializeObject <RobintrackHoldings>(serialized, settings);

            var percentBefore = item.UniverseHoldingPercent;
            var percentAfter  = deserialized.UniverseHoldingPercent;

            Assert.AreEqual(symbol, deserialized.Symbol);
            Assert.AreEqual(symbol.Underlying, deserialized.Symbol.Underlying);
            Assert.AreEqual(1, deserialized.UsersHolding);
            Assert.AreEqual(1000, deserialized.TotalUniqueHoldings);
            Assert.AreEqual(percentBefore, percentAfter);
            Assert.AreEqual(time, deserialized.Time);
            Assert.AreEqual(time, deserialized.EndTime);
        }
Ejemplo n.º 2
0
        public void ReadsLine()
        {
            var line     = "20200224 12:00:00,1234,2468.0";
            var instance = RobintrackHoldings.Read(line);

            var expectedDate = DateTime.SpecifyKind(new DateTime(2020, 2, 24, 12, 0, 0), DateTimeKind.Utc);

            Assert.AreEqual(expectedDate, instance.Time);
            Assert.AreEqual(expectedDate, instance.EndTime);
            Assert.AreEqual(1234, instance.UsersHolding);
            Assert.AreEqual(2468, instance.TotalUniqueHoldings);
            Assert.AreEqual(0.5m, instance.UniverseHoldingPercent);
        }