コード例 #1
0
        public void Equals_WithDifferentSignal_ReturnsFalse()
        {
            var signal1 = new DefensiveCombinedSignal(new BuySignal(4, 7));
            var signal2 = new DefensiveCombinedSignal(new BuySignal(4, 8));

            Assert.IsFalse(signal1.Equals(signal2));
        }
コード例 #2
0
        public void Equals_WithSimilarSignal_ReturnsTrue()
        {
            var signal1 = new DefensiveCombinedSignal(new BuySignal(4, 7));
            var signal2 = new DefensiveCombinedSignal(new BuySignal(4, 7));

            Assert.IsTrue(signal1.Equals(signal2));
        }
コード例 #3
0
        public void Strength_Sell100Neutral100_ReturnsSell0()
        {
            var combinedSignal = new DefensiveCombinedSignal(new SellSignal(100), new NeutralSignal(100));

            var expectedSignal = new SellSignal(0);

            Assert.That(combinedSignal, Is.EqualTo(expectedSignal));
        }
コード例 #4
0
        public void Strength_Buy50Sell100_ReturnsNeutral25()
        {
            var combinedSignal = new DefensiveCombinedSignal(new BuySignal(50), new SellSignal(100));

            var expectedSignal = new NeutralSignal(25);

            Assert.That(combinedSignal, Is.EqualTo(expectedSignal));
        }
コード例 #5
0
        public void Ctor_WhenCalled_SignalsAreSet()
        {
            var signals = new Signal[]
            {
                new BuySignal(),
                new SellSignal()
            };

            var combinedSignal = new DefensiveCombinedSignal(signals);

            Assert.That(combinedSignal.Signals, Is.EquivalentTo(signals));
        }
コード例 #6
0
        public void Ctor_WithCombinedSignals_SignalsAreSet()
        {
            var signals = new Signal[]
            {
                new BuySignal(),
                new SellSignal()
            };

            var signalsToAdd   = signals.Select(s => new DefensiveCombinedSignal(s));
            var combinedSignal = new DefensiveCombinedSignal(signalsToAdd);

            Assert.That(combinedSignal.Signals, Is.EquivalentTo(signals));
        }
コード例 #7
0
        public void Weight_WhenCalled_AllInternalSignalsAreWeighted()
        {
            var signals = new Signal[]
            {
                new BuySignal(20),
                new SellSignal(50)
            };
            var combinedSignal = new DefensiveCombinedSignal(signals);

            var weightedSignal = (CombinedSignal)combinedSignal.Weight(0.5d);

            var weightedSignals = signals.Select(s => s.Weight(0.5d)).ToList();

            Assert.That(weightedSignal.Signals, Is.EquivalentTo(weightedSignals));
        }