public void ClearIllustrationPoints_Always_ReturnsAffectedCalculations()
        {
            // Setup
            var calculationWitNoIllustrationPoints = new ProbabilisticPipingCalculationScenario
            {
                Output = PipingTestDataGenerator.GetRandomProbabilisticPipingOutputWithoutIllustrationPoints()
            };

            var calculationWithIllustrationPoints = new ProbabilisticPipingCalculationScenario
            {
                Output = PipingTestDataGenerator.GetRandomProbabilisticPipingOutputWithIllustrationPoints()
            };

            ProbabilisticPipingCalculationScenario[] calculations =
            {
                calculationWitNoIllustrationPoints,
                calculationWithIllustrationPoints,
                new ProbabilisticPipingCalculationScenario()
            };

            var mocks         = new MockRepository();
            var inquiryHelper = mocks.StrictMock <IInquiryHelper>();

            mocks.ReplayAll();

            var handler = new ClearIllustrationPointsOfProbabilisticPipingCalculationCollectionChangeHandler(
                inquiryHelper, calculations);

            // Call
            IEnumerable <IObservable> affectedObjects = handler.ClearIllustrationPoints();

            // Assert
            CollectionAssert.AreEquivalent(new[]
            {
                calculationWithIllustrationPoints
            }, affectedObjects);

            ProbabilisticPipingCalculationScenario[] calculationsWithOutput =
            {
                calculationWitNoIllustrationPoints,
                calculationWithIllustrationPoints
            };
            Assert.IsTrue(calculationsWithOutput.All(calc => calc.HasOutput));

            Assert.IsTrue(calculationsWithOutput.All(calc =>
            {
                ProbabilisticPipingOutput output = calc.Output;

                return(!output.ProfileSpecificOutput.HasGeneralResult &&
                       !output.SectionSpecificOutput.HasGeneralResult);
            }));
            mocks.VerifyAll();
        }
        public void Constructor_WithArguments_ExpectedValues()
        {
            // Setup
            var mocks         = new MockRepository();
            var inquiryHelper = mocks.Stub <IInquiryHelper>();

            mocks.ReplayAll();

            // Call
            var handler = new ClearIllustrationPointsOfProbabilisticPipingCalculationCollectionChangeHandler(
                inquiryHelper, Enumerable.Empty <ProbabilisticPipingCalculationScenario>());

            // Assert
            Assert.IsInstanceOf <ClearIllustrationPointsOfCalculationCollectionChangeHandlerBase>(handler);
            mocks.VerifyAll();
        }
        public void InquireConfirmation_Always_ReturnsInquiry()
        {
            // Setup
            var  random = new Random(21);
            bool expectedConfirmation = random.NextBoolean();

            var mocks         = new MockRepository();
            var inquiryHelper = mocks.StrictMock <IInquiryHelper>();

            inquiryHelper.Expect(h => h.InquireContinuation("Weet u zeker dat u alle illustratiepunten wilt wissen?"))
            .Return(expectedConfirmation);
            mocks.ReplayAll();

            var handler = new ClearIllustrationPointsOfProbabilisticPipingCalculationCollectionChangeHandler(
                inquiryHelper, Enumerable.Empty <ProbabilisticPipingCalculationScenario>());

            // Call
            bool confirmation = handler.InquireConfirmation();

            // Assert
            Assert.AreEqual(expectedConfirmation, confirmation);
            mocks.VerifyAll();
        }