Пример #1
0
        static void Main(string[] args)
        {
            UI ui = UI.Instance;

            ui.DisplayLogo(false);
            ui.GreetUser();
            ui.IntroduceEngines();

            ConsoleKeyInfo keyInfo;

            do
            {
                int option = ui.ChooseEngine();
                IMathExpressionSolver solver = GetEngine(option);

                string expression = ui.GetUserMathExpression();

                try
                {
                    double result = solver.Solve(expression);
                    ui.PresentResult(result);
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }

                ui.EndMessage();
                keyInfo = Console.ReadKey();
            } while (keyInfo.Key != ConsoleKey.Escape);
        }
Пример #2
0
        public void TestComplexExpression()
        {
            IMathExpressionSolver solver = ExpressionSolverFactory.GetSolver(Solver.CSharpMathSolver);
            string expression            = "2+1*3/2+12";

            double result = solver.Solve(expression);

            Assert.AreEqual(15.5d, result);
        }
Пример #3
0
        public void TestDivision()
        {
            IMathExpressionSolver solver = ExpressionSolverFactory.GetSolver(Solver.CSharpMathSolver);
            string expression            = "25/2";

            double result = solver.Solve(expression);

            Assert.AreEqual(12.5d, result);
        }
Пример #4
0
        public void TestMultiplication()
        {
            IMathExpressionSolver solver = ExpressionSolverFactory.GetSolver(Solver.CSharpMathSolver);
            string expression            = "20*5";

            double result = solver.Solve(expression);

            Assert.AreEqual(100d, result);
        }
Пример #5
0
        public void TestSubtraction()
        {
            IMathExpressionSolver solver = ExpressionSolverFactory.GetSolver(Solver.CSharpMathSolver);
            string expression            = "10-1";

            double result = solver.Solve(expression);

            Assert.AreEqual(9d, result);
        }
Пример #6
0
        public void TestException()
        {
            IMathExpressionSolver solver = ExpressionSolverFactory.GetSolver(Solver.CSharpMathSolver);
            string expression            = "assadsad";

            Assert.ThrowsException <ArgumentException>(() =>
            {
                double result = solver.Solve(expression);
            });
        }
        public void TestExpressionMathSolverCreation()
        {
            IMathExpressionSolver solver = ExpressionSolverFactory.GetSolver(Solver.ExpressionMathSolver);

            Assert.IsInstanceOfType(solver, typeof(ExpressionMathSolver));
        }