Exemplo n.º 1
0
    /// <summary>
    /// Creates a new calculation based on the given type. The calculation is then performed and logged to a given file.
    /// </summary>
    /// <param name="t">The type of calculation to create.</param>
    private void DoCalculation(Type t)
    {
        Calculation calculation = null;

        try
        {
            var args = GetInputProbabilities();
            switch (t.Name)
            {
            case "CombineCalculation":
                calculation = new CombineCalculation(args);
                break;

            case "EitherCalculation":
                calculation = new EitherCalculation(args);
                break;
            }
            outputView.Buffer.Text += calculation.MainOutput();
            Log.LogCalculation(calculation);
        }
        catch (Exception ex)
        {
            Log.LogError(ex);
        }
    }
Exemplo n.º 2
0
        public ActionResult Either(decimal pa, decimal pb)
        {
            var calculation = new EitherCalculation(pa, pb);

            var result = _calculatorService.Calculate(calculation);

            return(Ok(result));
        }
Exemplo n.º 3
0
        public void EitherCalculation_Should_Return_CorrectResult(double op1, double op2, double expected)
        {
            //Arrange
            ICalculation either = new EitherCalculation(op1, op2);

            //Act
            double actual = either.Calculate();

            //Assert
            Assert.AreEqual(expected, actual);
        }
Exemplo n.º 4
0
        public void GetInputsForLogMessage_ReturnsExpectedResult()
        {
            // Arrange
            var pa          = 0.7M;
            var pb          = 0.8M;
            var calculation = new EitherCalculation(pa, pb);

            // Act
            var result = calculation.GetInputsForLogMessage();

            // Assert
            result.Should().Be("0.7 + 0.8 - 0.7 * 0.8");
        }
Exemplo n.º 5
0
        public void Calculate_ReturnsExpectedResult()
        {
            // Arrange
            var pa          = 0.7M;
            var pb          = 0.8M;
            var calculation = new EitherCalculation(pa, pb);

            // Act
            var result = calculation.Calculate();

            // Assert
            result.Should().Be(0.94M);
        }
Exemplo n.º 6
0
        public void Validate_ValidParameters_ReturnsExpectedResult()
        {
            // Arrange
            var pa          = 0.7M;
            var pb          = 0.8M;
            var calculation = new EitherCalculation(pa, pb);

            // Act
            var result = calculation.Validate();

            // Assert
            var expected = new ValidationResult {
                IsValid = true
            };

            result.Should().BeEquivalentTo(expected);
        }
Exemplo n.º 7
0
        public void Validate_InvalidParameters_ReturnsExpectedResult(decimal pa, decimal pb)
        {
            // Arrange
            var calculation = new EitherCalculation(pa, pb);

            // Act
            var result = calculation.Validate();

            // Assert
            var expected = new ValidationResult
            {
                IsValid = false,
                Errors  = new List <Error>
                {
                    new Error
                    {
                        ErrorCode    = ErrorCode.InvalidParameters,
                        ErrorMessage = "Parameters must be greater than or equal to 0 and less than or equal to 1"
                    }
                }
            };

            result.Should().BeEquivalentTo(expected);
        }
Exemplo n.º 8
0
 public EitherCalculationTests()
 {
     this.sut = new EitherCalculation();
 }