コード例 #1
0
ファイル: Primary.cs プロジェクト: LukasGP/Calculator
        public void BracketWithNoClosingPrimary()
        {
            // SETUP
            var input          = "4/(3+8";
            var expectedResult = new FormatException();
            var calc           = new Calculator_Core();

            calc.SetInput(input);

            // EXECUTE
            calc.Expression();
        }
コード例 #2
0
        public void SingleMultiplicationPositives()
        {
            // SETUP
            var calc  = new Calculator_Core();
            var input = "5*8";
            Tuple <string, double> expectedResult = new Tuple <string, double>(input, 40);

            // EXECUTE
            var result = calc.CalculateFromString(input);

            // ASSERT
            Assert.AreEqual(expectedResult, result);
        }
コード例 #3
0
        public void SingleSubtractionNegativeResult()
        {
            // SETUP
            var calc  = new Calculator_Core();
            var input = "5-8";
            Tuple <string, double> expectedResult = new Tuple <string, double>(input, -3);

            // EXECUTE
            var result = calc.CalculateFromString(input);

            // ASSERT
            Assert.AreEqual(expectedResult, result);
        }
コード例 #4
0
        public void AdditionOfTwoNegativeValues()
        {
            // SETUP
            var calc  = new Calculator_Core();
            var input = "-8+-3";
            Tuple <string, double> expectedResult = new Tuple <string, double>(input, -11);

            // EXECUTE
            var result = calc.CalculateFromString(input);

            // ASSERT
            Assert.AreEqual(expectedResult, result);
        }
コード例 #5
0
        public void SingleDivisionOneNegatives()
        {
            // SETUP
            var calc  = new Calculator_Core();
            var input = "40/-8";
            Tuple <string, double> expectedResult = new Tuple <string, double>(input, -5);

            // EXECUTE
            var result = calc.CalculateFromString(input);

            // ASSERT
            Assert.AreEqual(expectedResult, result);
        }
コード例 #6
0
        public void DecimalNoLeadingNumber()
        {
            // SETUP
            var calc  = new Calculator_Core();
            var input = ".5/-.25";
            Tuple <string, double> expectedResult = new Tuple <string, double>(input, -2);

            // EXECUTE
            var result = calc.CalculateFromString(input);

            // ASSERT
            Assert.AreEqual(expectedResult, result);
        }
コード例 #7
0
        public void SingleAdditionPositiveResult()
        {
            // SETUP
            var calc  = new Calculator_Core();
            var input = "-3.5+4.5";
            Tuple <string, double> expectedResult = new Tuple <string, double>(input, 1);

            // EXECUTE
            var result = calc.CalculateFromString(input);

            // ASSERT
            Assert.AreEqual(expectedResult, result);
        }
コード例 #8
0
        public void MassOrderOfOperations()
        {
            // SETUP
            var calc  = new Calculator_Core();
            var input = "3+4*(5+20)/5*2";
            Tuple <string, double> expectedResult = new Tuple <string, double>(input, 43);

            // EXECUTE
            var result = calc.CalculateFromString(input);

            // ASSERT
            Assert.AreEqual(expectedResult, result);
        }
コード例 #9
0
        public void Brackets()
        {
            // SETUP
            var calc  = new Calculator_Core();
            var input = "(5+20)/5";
            Tuple <string, double> expectedResult = new Tuple <string, double>(input, 5);

            // EXECUTE
            var result = calc.CalculateFromString(input);

            // ASSERT
            Assert.AreEqual(expectedResult, result);
        }
コード例 #10
0
        public void DivisionAndAddition()
        {
            // SETUP
            var calc  = new Calculator_Core();
            var input = "-3+20/-5";
            Tuple <string, double> expectedResult = new Tuple <string, double>(input, -7);

            // EXECUTE
            var result = calc.CalculateFromString(input);

            // ASSERT
            Assert.AreEqual(expectedResult, result);
        }
コード例 #11
0
ファイル: Term.cs プロジェクト: LukasGP/Calculator
        public void DivisionThenAddition()
        {
            // SETUP
            var    input          = "20/5+25";
            double expectedResult = 4;
            var    calc           = new Calculator_Core();

            calc.SetInput(input);

            // EXECUTE
            var termResult = calc.Term();

            // ASSERT
            Assert.AreEqual(expectedResult, termResult);
        }
コード例 #12
0
ファイル: Primary.cs プロジェクト: LukasGP/Calculator
        public void NumericalPrimary()
        {
            // SETUP
            var    input          = "25";
            double expectedResult = 25;
            var    calc           = new Calculator_Core();

            calc.SetInput(input);

            // EXECUTE
            var numericPrimary = calc.Primary();

            // ASSERT
            Assert.AreEqual(expectedResult, numericPrimary);
        }