public void ReturnPositiveIfDoubleNegative()
        {
            // Arrange
            string CalculationString   = "--20";
            string OperatorToCalculate = "-";

            StringModifier SystemUnderTest = new StringModifier(_operationIdentifier.Object, _operationFactory.Object);

            // Act
            SystemUnderTest.SubstituteOperationsWithResult(ref CalculationString, OperatorToCalculate);

            // Assert
            CalculationString.ShouldBe("20");

            _operationFactory.Verify(x => x.Create(It.IsAny <string>()), Times.Never());
            _operator.Verify(x => x.GetResult(), Times.Never());
        }
        public void ReplaceOperationWithResult()
        {
            // Arrange
            string CalculationString   = "4+6/2*3-8";
            string OperatorToCalculate = "/";

            StringModifier SystemUnderTest = new StringModifier(_operationIdentifier.Object, _operationFactory.Object);

            // Act
            SystemUnderTest.SubstituteOperationsWithResult(ref CalculationString, OperatorToCalculate);

            // Assert
            CalculationString.ShouldBe("4+3*3-8");

            _operationFactory.Verify(x => x.Create("6/2"), Times.Once());
            _operator.Verify(x => x.GetResult(), Times.Once());
        }