Esempio n. 1
0
        public void Constructor_ExpectedValues()
        {
            // Setup
            const string  name         = "Test";
            var           random       = new Random(21);
            bool          isRelevant   = random.NextBoolean();
            RoundedDouble contribution = random.NextRoundedDouble();

            var mocks = new MockRepository();
            var calculationScenario = mocks.Stub <ICalculationScenario>();

            mocks.ReplayAll();

            calculationScenario.Name         = name;
            calculationScenario.IsRelevant   = isRelevant;
            calculationScenario.Contribution = contribution;

            // Call
            var row = new TestScenarioRow <ICalculationScenario>(calculationScenario);

            // Assert
            Assert.AreSame(calculationScenario, row.CalculationScenario);
            Assert.AreEqual(name, row.Name);
            Assert.AreEqual(isRelevant, row.IsRelevant);
            Assert.AreEqual(2, row.Contribution.NumberOfDecimalPlaces);
            Assert.AreEqual(contribution * 100, row.Contribution, row.Contribution.GetAccuracy());
            TestHelper.AssertTypeConverter <ScenarioRow <ICalculationScenario>, NoProbabilityValueDoubleConverter>(
                nameof(ScenarioRow <ICalculationScenario> .FailureProbability));

            mocks.VerifyAll();
        }
Esempio n. 2
0
        public void IsRelevant_AlwaysOnChange_NotifyObserversAndCalculationPropertyChanged(bool newValue)
        {
            // Setup
            var mocks = new MockRepository();
            var calculationScenario = mocks.Stub <ICalculationScenario>();

            calculationScenario.Expect(cs => cs.NotifyObservers());
            mocks.ReplayAll();

            var row = new TestScenarioRow <ICalculationScenario>(calculationScenario);

            // Call
            row.IsRelevant = newValue;

            // Assert
            Assert.AreEqual(newValue, calculationScenario.IsRelevant);
            mocks.VerifyAll();
        }
Esempio n. 3
0
        public void Contribution_AlwaysOnChange_NotifyObserverAndCalculationPropertyChanged()
        {
            // Setup
            var mocks = new MockRepository();
            var calculationScenario = mocks.Stub <ICalculationScenario>();

            calculationScenario.Expect(cs => cs.NotifyObservers());
            mocks.ReplayAll();

            double newValue = new Random(21).NextDouble(0, 100);

            var row = new TestScenarioRow <ICalculationScenario>(calculationScenario);

            // Call
            row.Contribution = (RoundedDouble)newValue;

            // Assert
            Assert.AreEqual(newValue / 100, calculationScenario.Contribution, calculationScenario.Contribution.GetAccuracy());
            mocks.VerifyAll();
        }