public void ShouldNot_ThrowException_WhenDoingDevideByZero()
        {
            //arrange
            var clientMock = new Mock<IOutputService>();
            var calculator = new CalculatorEngine(clientMock.Object);
            calculator.FirstArg = 2;
            calculator.SecondArg = 0;

            //act
            calculator.Devide();

            //assert
            Assert.Pass();
        }
        public void Should_ExecutePrintResultMethodWithArgument6OfOutputService_WhenDoing12Devide2()
        {
            //arrange
            var clientMock = new Mock<IOutputService>();
            var calculator = new CalculatorEngine(clientMock.Object);
            calculator.FirstArg = 12;
            calculator.SecondArg = 2;
            string expected = "6,00000";

            //act
            calculator.Devide();

            //Assert
            clientMock.Verify(x => x.PrintData(expected), Times.Exactly(1));
        }
        public void Should_ReturnDevideBy0InResult_WhenDoingDevide3By0()
        {
            //arrange
            var clientMock = new Mock<IOutputService>();
            var calculator = new CalculatorEngine(clientMock.Object);
            calculator.FirstArg = 3;
            calculator.SecondArg = 0;

            //act
            calculator.Devide();

            //assert
            Assert.AreEqual(calculator.Result,"Devide by 0");
        }
        public void Should_Return5Point4_WhenDoing2Point2Add3Point2()
        {
            //arrange
            var clientMock = new Mock<IOutputService>();
            var calculator = new CalculatorEngine(clientMock.Object);
            calculator.FirstArg = 2.2;
            calculator.SecondArg = 3.2;
            string expected = "5,40000";

            //act
            calculator.Add();

            //asssert
            Assert.AreEqual(calculator.Result,expected);
        }
        public void Should_Return2_WhenDoing5Point1Substract3Point1()
        {
            //arrange
            var clientMock = new Mock<IOutputService>();
            var calculator = new CalculatorEngine(clientMock.Object);
            calculator.FirstArg = 5.1;
            calculator.SecondArg = 3.1;
            string expected = "2,00000";

            //act
            calculator.Substract();

            //asssert
            Assert.AreEqual(calculator.Result, expected);
        }
        public void Should_Return2Point6_WhenDoing2Multiply1Point3()
        {
            //arrange
            var clientMock = new Mock<IOutputService>();
            var calculator = new CalculatorEngine(clientMock.Object);
            calculator.FirstArg = 2.0;
            calculator.SecondArg = 1.3;
            string expected = "2,60000";

            //act
            calculator.Multiply();

            //asssert
            Assert.AreEqual(calculator.Result, expected);
        }