예제 #1
0
        public void ReturnsCorrectPeriodNamesAndValues()
        {
            Assert.AreEqual(new[] { "3M", "1Y", "2Y" }, _field.GetPeriodNames());

            Assert.AreEqual(new[] { "3M", "1Y", "2Y" }, _field.GetPeriodValues().Keys);

            Assert.AreEqual(new[] { 1, 5, 2 }, _field.GetPeriodValues().Values);
        }
예제 #2
0
        public void EmptyStore()
        {
            var field = new NormalizedBasicEPSGrowth();

            Assert.IsFalse(field.HasValue);
            Assert.AreEqual(0, field.Value);
            Assert.AreEqual(0, field.FiveYears);
            Assert.AreEqual(0, field.OneYear);
            Assert.AreEqual(Enumerable.Empty <string>(), field.GetPeriodNames());
            Assert.AreEqual(0,
                            field.GetPeriodValue(QuantConnect.Data.Fundamental.Period.OneYear));
            Assert.AreEqual(0,
                            field.GetPeriodValue(QuantConnect.Data.Fundamental.Period.TenYears));
            Assert.AreEqual(0, field.GetPeriodValues().Count);
            Assert.IsFalse(field.HasPeriodValue(QuantConnect.Data.Fundamental.Period.OneYear));
            Assert.IsFalse(field.HasPeriodValue(QuantConnect.Data.Fundamental.Period.TenYears));
        }
예제 #3
0
        public void EmptyStoreSetPeriodValue()
        {
            var field = new NormalizedBasicEPSGrowth();

            // add the default value
            field.SetPeriodValue(QuantConnect.Data.Fundamental.Period.OneYear, 1);

            Assert.IsTrue(field.HasValue);
            Assert.AreEqual(1, field.Value);
            Assert.AreEqual(QuantConnect.Data.Fundamental.Period.OneYear, field.GetPeriodNames().Single());

            var values = field.GetPeriodValues();

            Assert.AreEqual(1, values.Count);
            Assert.AreEqual(1, values.First().Value);
            Assert.AreEqual(QuantConnect.Data.Fundamental.Period.OneYear, values.First().Key);
        }
예제 #4
0
        public void EmptyStoreUpdateValues()
        {
            var field = new NormalizedBasicEPSGrowth();

            // update the default value
            var data = new Dictionary <string, decimal> {
                { QuantConnect.Data.Fundamental.Period.OneYear, 2 }
            };

            field.UpdateValues(new NormalizedBasicEPSGrowth(data));

            Assert.IsTrue(field.HasValue);
            Assert.AreEqual(2, field.Value);
            Assert.AreEqual(QuantConnect.Data.Fundamental.Period.OneYear, field.GetPeriodNames().Single());

            var values = field.GetPeriodValues();

            Assert.AreEqual(1, values.Count);
            Assert.AreEqual(2, values.First().Value);
            Assert.AreEqual(QuantConnect.Data.Fundamental.Period.OneYear, values.First().Key);
        }
예제 #5
0
        public void SetPeriodValue()
        {
            var field = new NormalizedBasicEPSGrowth();

            // add the default value
            field.SetPeriodValue(QuantConnect.Data.Fundamental.Period.OneYear, 1);
            field.SetPeriodValue(QuantConnect.Data.Fundamental.Period.TenYears, 10);

            Assert.IsTrue(field.HasValue);
            Assert.AreEqual(1, field.Value);
            var names = field.GetPeriodNames().ToList();

            Assert.AreEqual(QuantConnect.Data.Fundamental.Period.OneYear, names[0]);
            Assert.AreEqual(QuantConnect.Data.Fundamental.Period.TenYears, names[1]);

            var values = field.GetPeriodValues();

            Assert.AreEqual(2, values.Count);
            Assert.AreEqual(1, values[QuantConnect.Data.Fundamental.Period.OneYear]);
            Assert.AreEqual(10, values[QuantConnect.Data.Fundamental.Period.TenYears]);
        }