public void Substruct_InValidFirstParameter_ReturnNull()
        {
            //Arrange
            ILoggerManager loggerManager = new FakeLoggerManager();
            Calculator     calculator    = new Calculator(loggerManager);

            //Act
            var result = calculator.Substruct("sdf", "4");

            //Assert
            Assert.True(result == null);
        }
        public void Multiply_GoodParameters_ReturnMultiplyResult()
        {
            //Arrange
            ILoggerManager loggerManager = new FakeLoggerManager();
            Calculator     calculator    = new Calculator(loggerManager);

            //Act
            var result = calculator.Multiply("4", "7");

            //Assert
            Assert.True(result == 28);
        }
        public void Substruct_GoodParameters_ReturnSubstructResult()
        {
            //Arrange
            ILoggerManager loggerManager = new FakeLoggerManager();
            Calculator     calculator    = new Calculator(loggerManager);

            //Act
            var result = calculator.Substruct("44", "27");

            //Assert
            Assert.True(result == 17);
        }
        public void Divide_GoodParameters_ReturnDivideResult()
        {
            //Arrange
            ILoggerManager loggerManager = new FakeLoggerManager();
            Calculator     calculator    = new Calculator(loggerManager);

            //Act
            var result = calculator.Divide("8", "2");

            //Assert
            Assert.True(result == 4);
        }
        public void Add_GoodParameters_ReturnSum()
        {
            //Arrange
            ILoggerManager loggerManager = new FakeLoggerManager();
            Calculator     calculator    = new Calculator(loggerManager);

            //Act
            var result = calculator.Add("4", "7");

            //Assert
            Assert.True(result == 11);
        }
        public void Substruct_InValidSecondParameter_ThrowException()
        {
            //Arrange
            ILoggerManager loggerManager = new FakeLoggerManager();
            Calculator     calculator    = new Calculator(loggerManager);

            //Act
            var ex = Assert.Catch <Exception>(
                () => calculator.Substruct("3", "ase"));

            //Assert
            StringAssert.Contains("Input string was ", ex.Message);
        }
        public void Divide_SecondParameterIsZero_ThrowDivideByZeroException()
        {
            //Arrange
            ILoggerManager loggerManager = new FakeLoggerManager();
            Calculator     calculator    = new Calculator(loggerManager);

            //Act
            var ex = Assert.Catch <DivideByZeroException>(
                () => calculator.Divide("3", "0"));

            //Assert
            StringAssert.Contains("divide by zero", ex.Message);
        }