Beispiel #1
0
        public void Validate_KernelReturnsValidationResults_ReturnsEnumerableWithOnlyErrorsAndWarnings()
        {
            // Setup
            using (new MacroStabilityInwardsKernelFactoryConfig())
            {
                var factory = (TestMacroStabilityInwardsKernelFactory)MacroStabilityInwardsKernelWrapperFactory.Instance;
                WaternetKernelStub waternetKernel = factory.LastCreatedWaternetExtremeKernel;
                waternetKernel.ReturnValidationResults = true;

                WaternetCalculatorInput input = WaternetCalculatorInputTestFactory.CreateValidCalculatorInput();
                var calculator = new TestWaternetCalculator(input, factory);

                // Call
                IEnumerable <MacroStabilityInwardsKernelMessage> kernelMessages = calculator.Validate();

                // Assert
                Assert.AreEqual(2, kernelMessages.Count());
                MacroStabilityInwardsKernelMessage firstMessage = kernelMessages.ElementAt(0);
                Assert.AreEqual("Validation Warning", firstMessage.Message);
                Assert.AreEqual(MacroStabilityInwardsKernelMessageType.Warning, firstMessage.Type);
                MacroStabilityInwardsKernelMessage secondMessage = kernelMessages.ElementAt(1);
                Assert.AreEqual("Validation Error", secondMessage.Message);
                Assert.AreEqual(MacroStabilityInwardsKernelMessageType.Error, secondMessage.Type);
            }
        }
        public void Validate_KernelReturnsValidationResults_ReturnsEnumerableWithOnlyErrorsAndWarnings()
        {
            // Setup
            using (new MacroStabilityInwardsKernelFactoryConfig())
            {
                var factory = (TestMacroStabilityInwardsKernelFactory)MacroStabilityInwardsKernelWrapperFactory.Instance;
                UpliftVanKernelStub upliftVanKernel = factory.LastCreatedUpliftVanKernel;
                upliftVanKernel.ReturnValidationResults = true;

                SetValidKernelOutput(factory.LastCreatedWaternetDailyKernel);
                SetValidKernelOutput(factory.LastCreatedWaternetExtremeKernel);

                // Call
                IEnumerable <MacroStabilityInwardsKernelMessage> kernelMessages = new UpliftVanCalculator(
                    UpliftVanCalculatorInputTestFactory.Create(),
                    factory).Validate().ToList();

                // Assert
                Assert.AreEqual(2, kernelMessages.Count());
                MacroStabilityInwardsKernelMessage firstMessage = kernelMessages.ElementAt(0);
                Assert.AreEqual("Validation Warning", firstMessage.Message);
                Assert.AreEqual(MacroStabilityInwardsKernelMessageType.Warning, firstMessage.Type);
                MacroStabilityInwardsKernelMessage secondMessage = kernelMessages.ElementAt(1);
                Assert.AreEqual("Validation Error", secondMessage.Message);
                Assert.AreEqual(MacroStabilityInwardsKernelMessageType.Error, secondMessage.Type);
            }
        }
Beispiel #3
0
        public void Create_WithMessages_ReturnOnlyWarningAndErrorMacroStabilityInwardsKernelMessages()
        {
            // Setup
            Message[] logMessages =
            {
                CreateMessage(MessageType.Info,    "Calculation Info"),
                CreateMessage(MessageType.Warning, "Calculation Warning"),
                CreateMessage(MessageType.Error,   "Calculation Error")
            };

            // Call
            IEnumerable <MacroStabilityInwardsKernelMessage> kernelMessages = MacroStabilityInwardsKernelMessagesCreator.Create(logMessages);

            // Assert
            Assert.AreEqual(2, kernelMessages.Count());
            MacroStabilityInwardsKernelMessage firstMessage = kernelMessages.ElementAt(0);

            Assert.AreEqual("Calculation Warning", firstMessage.Message);
            Assert.AreEqual(MacroStabilityInwardsKernelMessageType.Warning, firstMessage.Type);

            MacroStabilityInwardsKernelMessage secondMessage = kernelMessages.ElementAt(1);

            Assert.AreEqual("Calculation Error", secondMessage.Message);
            Assert.AreEqual(MacroStabilityInwardsKernelMessageType.Error, secondMessage.Type);
        }
        public void Constructor_ValidArguments_ReturnsExpectedValues()
        {
            // Setup
            var          random  = new Random(39);
            var          type    = random.NextEnumValue <MacroStabilityInwardsKernelMessageType>();
            const string message = "Error in validation";

            // Call
            var kernelMessage = new MacroStabilityInwardsKernelMessage(type, message);

            // Assert
            Assert.AreEqual(message, kernelMessage.Message);
            Assert.AreEqual(type, kernelMessage.Type);
        }
Beispiel #5
0
        public void Create_MessageTextNull_ReturnsMacroStabilityInwardsKernelMessageWithUnknownText()
        {
            // Setup
            Message[] logMessages =
            {
                CreateMessage(MessageType.Error, null)
            };

            // Call
            IEnumerable <MacroStabilityInwardsKernelMessage> kernelMessages = MacroStabilityInwardsKernelMessagesCreator.Create(logMessages);

            // Assert
            MacroStabilityInwardsKernelMessage kernelMessage = kernelMessages.Single();

            Assert.AreEqual("Onbekend", kernelMessage.Message);
            Assert.AreEqual(MacroStabilityInwardsKernelMessageType.Error, kernelMessage.Type);
        }
        public void Calculate_KernelThrowsUpliftVanKernelWrapperExceptionWithLogMessages_ThrowUpliftVanCalculatorException()
        {
            // Setup
            UpliftVanCalculatorInput input = UpliftVanCalculatorInputTestFactory.Create();

            using (new MacroStabilityInwardsKernelFactoryConfig())
            {
                var factory = (TestMacroStabilityInwardsKernelFactory)MacroStabilityInwardsKernelWrapperFactory.Instance;
                UpliftVanKernelStub upliftVanKernel = factory.LastCreatedUpliftVanKernel;
                upliftVanKernel.ThrowExceptionOnCalculate = true;
                upliftVanKernel.ReturnLogMessages         = true;

                SetValidKernelOutput(factory.LastCreatedWaternetDailyKernel);
                SetValidKernelOutput(factory.LastCreatedWaternetExtremeKernel);

                // Call
                void Call() => new UpliftVanCalculator(input, factory).Calculate();

                // Assert
                var exception = Assert.Throws <UpliftVanCalculatorException>(Call);
                Assert.IsInstanceOf <UpliftVanKernelWrapperException>(exception.InnerException);
                Assert.AreEqual(exception.InnerException.Message, exception.Message);

                IEnumerable <Message> expectedMessages = GetSupportMessages(upliftVanKernel.CalculationMessages);
                Assert.AreEqual(expectedMessages.Count(), exception.KernelMessages.Count());

                for (var i = 0; i < expectedMessages.Count(); i++)
                {
                    Message upliftVanKernelCalculationMessage = expectedMessages.ElementAt(i);
                    MacroStabilityInwardsKernelMessage exceptionKernelMessage = exception.KernelMessages.ElementAt(i);

                    Assert.AreEqual(upliftVanKernelCalculationMessage.Content, exceptionKernelMessage.Message);
                    Assert.AreEqual(GetMessageType(upliftVanKernelCalculationMessage.MessageType), exceptionKernelMessage.Type);
                }
            }
        }