Пример #1
0
        public void GetWilliamRTest()
        {
            int lookbackPeriod = 14;
            IEnumerable<WilliamResult> results = Indicator.GetWilliamR(history, lookbackPeriod);

            // assertions

            // proper quantities
            // should always be the same number of results as there is history
            Assert.AreEqual(502, results.Count());
            Assert.AreEqual(502 - lookbackPeriod + 1, results.Where(x => x.WilliamR != null).Count());

            // sample values
            WilliamResult r1 = results.Where(x => x.Index == 502).FirstOrDefault();
            Assert.AreEqual(-52.0121m, Math.Round((decimal)r1.WilliamR, 4));

            WilliamResult r2 = results.Where(x => x.Index == 344).FirstOrDefault();
            Assert.AreEqual(-19.8211m, Math.Round((decimal)r2.WilliamR, 4));
        }
Пример #2
0
        public void GetWilliamRTest()
        {
            int lookbackPeriod = 14;
            IEnumerable <WilliamResult> results = Indicator.GetWilliamR(history, lookbackPeriod);

            // assertions

            // proper quantities
            // should always be the same number of results as there is history
            Assert.AreEqual(502, results.Count());
            Assert.AreEqual(502 - lookbackPeriod + 1, results.Where(x => x.WilliamR != null).Count());

            // sample values
            WilliamResult r1 = results.Where(x => x.Date == DateTime.Parse("12/31/2018")).FirstOrDefault();

            Assert.AreEqual((decimal) - 52.0121, Math.Round((decimal)r1.WilliamR, 4));
            Assert.AreEqual(true, r1.IsIncreasing);

            WilliamResult r2 = results.Where(x => x.Date == DateTime.Parse("05/15/2018")).FirstOrDefault();

            Assert.AreEqual((decimal) - 19.8211, Math.Round((decimal)r2.WilliamR, 4));
            Assert.AreEqual(false, r2.IsIncreasing);
        }