コード例 #1
0
            public void CandlestickArrayNull_throwsArgumentNullException()
            {
                var calculator = new Lib.RSICalculator(MIN_SAMPLES);

                Lib.Candlestick[] expected = null;
                Assert.Throws <ArgumentNullException>(testCode: () => { calculator.CalculateInitialValue(expected); });
            }
コード例 #2
0
            public void NumberOfSamplesGreaterOrEquals10_propertyNumberOfSamplesGetsSet()
            {
                var expected   = 10;
                var calculator = new Lib.RSICalculator(expected);

                Assert.Equal(expected, calculator.NumberOfSamples);
            }
コード例 #3
0
            public void PreviousRSIPassedWithCandlestick_RSIGetsCalculated()
            {
                var expected   = new Lib.RSIValue(0.5430M, 0.5771M, 4);
                var calculator = new Lib.RSICalculator(MIN_SAMPLES);
                var actual     = calculator.CalculateNextValue(new Lib.RSIValue(0.5848M, 0.5446M, 4), new Lib.Candlestick(2M, 1M));

                Assert.Equal(expected, actual);
            }
コード例 #4
0
            public void DataArraySet_RSIValueGetsCalculated()
            {
                var expected    = new Lib.RSIValue(0.5848M, 0.5446M, 4);
                var differences = new decimal[] {
                    1.0000M, -0.6875M, 0.5000M, -2.0000M, -0.6875M,
                    0.3750M, 1.1250M, 2.0625M, -0.2500M, -0.5625M,
                    -2.4375M, 1.7500M, 1.3750M, -1.0000M
                };
                var calculator = new Lib.RSICalculator(14);
                var actual     = calculator.CalculateInitialValue(differences);

                Assert.Equal(expected, actual);
            }
コード例 #5
0
            public void CandlesticksSet_RSIValueGetsCalculated()
            {
                var expected     = new Lib.RSIValue(0.5848M, 0.5446M, 4);
                var candlesticks = new Lib.Candlestick[] {
                    new Lib.Candlestick(10M, 11M), new Lib.Candlestick(11M, 10.3125M), new Lib.Candlestick(10.3125M, 10.8125M),
                    new Lib.Candlestick(10.8125M, 8.8125M), new Lib.Candlestick(8.8125M, 8.125M), new Lib.Candlestick(8.125M, 8.5M),
                    new Lib.Candlestick(8.5M, 9.625M), new Lib.Candlestick(9.625M, 11.6875M), new Lib.Candlestick(11.6875M, 11.4375M),
                    new Lib.Candlestick(11.4375M, 10.875M), new Lib.Candlestick(10.875M, 8.4375M), new Lib.Candlestick(8.4375M, 10.1875M),
                    new Lib.Candlestick(10.1875M, 11.5625M), new Lib.Candlestick(11.5625M, 10.5625M)
                };
                var calculator = new Lib.RSICalculator(14);
                var actual     = calculator.CalculateInitialValue(candlesticks);

                Assert.Equal(expected, actual);
            }
コード例 #6
0
            public void CandlestickHasLessSamplesThanSpecified_throwsArgumentException()
            {
                var calculator = new Lib.RSICalculator(MIN_SAMPLES);

                Assert.Throws <ArgumentException>(testCode: () => { calculator.CalculateInitialValue(new Lib.Candlestick[] {}); });
            }
コード例 #7
0
 public void PreviousRSIPassedNoCandlestick_throwsArgumentNullException() =>
 Assert.Throws <ArgumentNullException>(testCode: () => {
     var calculator = new Lib.RSICalculator(MIN_SAMPLES);
     calculator.CalculateNextValue(new Lib.RSIValue(0.5848M, 0.5446M, 4), null);
 });
コード例 #8
0
 public void PreviousRSINotPassedWtihCandlestick_throwsArgumentNullException() =>
 Assert.Throws <ArgumentNullException>(testCode: () => {
     var calculator = new Lib.RSICalculator(MIN_SAMPLES);
     calculator.CalculateNextValue(null, null);
 });