コード例 #1
0
        public void PrepareWithEmptyInputThrowsException()
        {
            // Arrange
            var target = new SmaCrossover();

            // Act
            target.Prepare(new List <Candle>());
        }
コード例 #2
0
        public void PrepareWithNullInputThrowsException()
        {
            // Arrange
            var target = new SmaCrossover();

            // Act
            target.Prepare(null);
        }
コード例 #3
0
        public void PrepareWithNoCrossoversReturnsListOfZeros()
        {
            // Arrange
            var target = new SmaCrossover();
            var list   = Enumerable.Range(1, 100).Select(_ => new Candle {
                Close = _
            }).ToList();

            // Act
            var result = target.Prepare(list);

            // Assert
            Assert.IsTrue(result.All(_ => _.Equals(0)));
        }
コード例 #4
0
        public void PrepareWithMultipleCrossoversReturnsExpectedPattern()
        {
            // Arrange
            var target = new SmaCrossover();

            var list = Enumerable.Range(1, 100).
                       Select(_ => new Candle {
                Close = 2.0 * Math.Sin(_) * Math.Sin(_)
            }).ToList();

            // Act
            var result = target.Prepare(list);

            // Assert
            Assert.AreEqual(100, result.Count());
            Assert.AreEqual(67, result.Count(_ => _.Equals(0)));
            Assert.AreEqual(16, result.Count(_ => _.Equals(-1)));
            Assert.AreEqual(17, result.Count(_ => _.Equals(1)));
        }