Пример #1
0
        private void CreateStackTest(int testNumber, string input, ArrayList expected)
        {
            AnalaizerClass.expression = input;
            var  result = AnalaizerClass.CreateStack();
            bool b      = true;

            for (int i = 0; i < result.Count; i++)
            {
                if (!result[i].Equals(expected[i]))
                {
                    b = false;
                    break;
                }
            }
            if (b)
            {
                Log.CreateLog(logger, component, testNumber, input, ListToString(expected), ListToString(result));
                Assert.AreEqual(true, true);
            }
            else
            {
                Log.CreateBugReport(logger, component, testNumber, input, ListToString(expected), ListToString(result), "");
                Assert.AreEqual(true, false);
            }
        }
Пример #2
0
        private void RunEstimateTest(int testNumber, ArrayList input, string expected)
        {
            AnalaizerClass.opz = input;
            StringBuilder logInfo = new StringBuilder();

            logInfo.Append("\nTest number: ").Append(testNumber).Append("\nВходные данные: ");

            foreach (var v in input)
            {
                logInfo.Append(v).Append(" ");
            }

            string result = AnalaizerClass.RunEstimate();

            logInfo.Append("\nОжидаемый результат: ").Append(expected).Append("\nПолученный результат").Append(result);

            if (result == expected)
            {
                logger.Info(logInfo);
            }
            else
            {
                logger.Error(logInfo);
            }

            Assert.AreEqual(expected, result);
        }
Пример #3
0
        public void CreateStackTest2()
        {
            AnalaizerClass.expression = "( p 34 - 3 ) / 5 ";
            ArrayList expected = new System.Collections.ArrayList(30);

            expected.Add("34");
            expected.Add("p");
            expected.Add("3");
            expected.Add("-");
            expected.Add("5");
            expected.Add("/");
            ArrayList actual = AnalaizerClass.CreateStack();

            bool isEqual = true;

            for (int i = 0; i < actual.Count; ++i)
            {
                if (expected[i].ToString() != actual[i].ToString())
                {
                    isEqual = false;
                }
            }

            Assert.AreEqual(true, isEqual);
        }
Пример #4
0
        public void FormatTest2()
        {
            AnalaizerClass.expression = "5-3**2";
            string expected = "&Error 04 at 4";
            string actual   = AnalaizerClass.Format();

            Assert.AreEqual(expected, actual);
        }
Пример #5
0
        private void CheckCurrencyTest(int testNumber, string input, bool expected)
        {
            AnalaizerClass.expression = input;
            bool result = AnalaizerClass.CheckCurrency();

            Log.CreateLog(logger, component, testNumber, input, expected.ToString(), result.ToString());
            Assert.AreEqual(result, expected);
        }
Пример #6
0
        public void CheckCurrencyTest7()
        {
            AnalaizerClass.expression = "9+(34-65*(4/)2)";
            bool expected = true;
            bool actual   = AnalaizerClass.CheckCurrency();

            Assert.AreEqual(expected, actual);
        }
Пример #7
0
        public void FormatTest1()
        {
            AnalaizerClass.expression = "3*(2+";
            string expected = "&Error 05";
            string actual   = AnalaizerClass.Format();

            Assert.AreEqual(expected, actual);
        }
Пример #8
0
        public void CheckCurrencyTest1()
        {
            AnalaizerClass.expression = "3*(2+2)";
            bool expected = true;
            bool actual   = AnalaizerClass.CheckCurrency();

            Assert.AreEqual(expected, actual);
        }
Пример #9
0
        public void CheckCurrencyTest3()
        {
            AnalaizerClass.expression = "((2+2)*3";
            bool expected = false;
            bool actual   = AnalaizerClass.CheckCurrency();

            Assert.AreEqual(expected, actual);
        }
Пример #10
0
        public void FormatTest4()
        {
            AnalaizerClass.expression = "5432modz3";
            string expected = "&Error 02 at 7";
            string actual   = AnalaizerClass.Format();

            Assert.AreEqual(expected, actual);
        }
Пример #11
0
        public void FormatTest5()
        {
            AnalaizerClass.expression = "p9+(mm34mod2-65*(4/2))";
            string expected = "p 9 + ( m m 34 mod 2 - 65 * ( 4 / 2 ) ) ";
            string actual   = AnalaizerClass.Format();

            Assert.AreEqual(expected, actual);
        }
Пример #12
0
        public void EstimateTest1()
        {
            AnalaizerClass.expression = "152/2*(41+m29)";

            String expected = "912";
            String actual   = AnalaizerClass.Estimate();

            Assert.AreEqual(expected, actual, "Estimate() не возвращает ожидаемое значение.");
        }
Пример #13
0
        public void EstimateTest3()
        {
            AnalaizerClass.expression = "3*(2+2))";

            String expected = "Error 01 at 7";
            String actual   = AnalaizerClass.Estimate();

            Assert.AreEqual(expected, actual, "Estimate() не возвращает ожидаемое значение.");
        }
Пример #14
0
        public void bMPlus_ClickTest1()
        {
            AnalaizerClass.expression = "";
            result = AnalaizerClass.Estimate();
            int expected = 0;
            int actual   = BaseCalc.mem;

            Assert.AreEqual(expected, actual);
        }
Пример #15
0
 static void FormatTest() //Форматирует входное выражение, выставляя между операторами пробелы и удаляя лишние, а также отлавливает неопознанные операторы, следит за концом строки
 {
     for (int i = 0; i < 3; i++)
     {
         Console.WriteLine("Format()");
         AnalaizerClass.expression = Console.ReadLine();
         string result = AnalaizerClass.Format();
         Console.WriteLine(result);
     }
 }
Пример #16
0
        public void bMPlus_ClickTest6()
        {
            AnalaizerClass.expression = "4/3m6";
            result = AnalaizerClass.Estimate();
            bMPlus_ForTest();

            int expected = 2;
            int actual   = exception;

            Assert.AreEqual(expected, actual);
        }
Пример #17
0
        public void CreateStackTest3()
        {
            AnalaizerClass.expression = "( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 1 + 1 ) + 1 ) + 1 ) + 1 ) + 1 ) + 1 ) + 1 ) + 1 ) + 1 ) + 1 ) + 1 ) + 1 ) + 1 ) + 1 ) + 1 ) + 1 ) ";

            Object actual = new object();

            if (AnalaizerClass.CreateStack() == null)
            {
                actual = null;
            }

            Assert.AreEqual(null, actual);
        }
Пример #18
0
        private static void AnalaizerTest1()
        {
            try
            {
                Console.WriteLine("Test 1");
                AnalaizerClass.expression = "(1+(1+(1+(1+(1+1)))))";
                Console.WriteLine("Input data: " + AnalaizerClass.expression);
                Console.WriteLine("Expected result: true");
                bool result = AnalaizerClass.CheckCurrency();
                Console.WriteLine("Result: " + result);
                if (result)
                {
                    Console.WriteLine("Test complete");
                }
                else
                {
                    Console.WriteLine("Test failed");
                }
                Console.WriteLine();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                Console.WriteLine("Test failed");
            }

            try
            {
                Console.WriteLine("Test 2");
                AnalaizerClass.expression = "(1+(1+(1+(1+(1+1)))";
                Console.WriteLine("Input data:" + AnalaizerClass.expression);
                Console.WriteLine("Expected result: false");
                bool result = AnalaizerClass.CheckCurrency();
                Console.WriteLine("Result: " + result);
                if (!result)
                {
                    Console.WriteLine("Test complete");
                }
                else
                {
                    Console.WriteLine("Test failed");
                }
                Console.WriteLine();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                Console.WriteLine("Test failed");
            }
        }
Пример #19
0
        public void RunEstimateTest6()
        {
            ArrayList arrayList = new ArrayList();

            arrayList.Add("2147483645");
            arrayList.Add("m");
            arrayList.Add("2147483646");

            AnalaizerClass.opz = arrayList;
            string actual   = AnalaizerClass.RunEstimate();
            string expected = "Error 03";

            Assert.AreEqual(expected, actual);
        }
Пример #20
0
        private void EstimateTest(int testNumber, string input, string expected)
        {
            AnalaizerClass.expression = input;
            string result = AnalaizerClass.Estimate();

            if (expected == result)
            {
                Log.CreateLogInfo(logger, testNumber, input, expected, result);
            }
            else
            {
                Log.CreateBugReport(logger, COMPONENT_NAME, testNumber, input, expected, result);
            }
            Assert.AreEqual(expected, result);
        }
Пример #21
0
 static ArrayList CreateStackTest() //Создает массив, в котором располагаются операторы и символы, представленные в обратной польской записи(безскобочной) На этом же этапе отлавливаются почти все остальные ошибки (см. код). По сути - это компиляция.
 {
     for (int i = 0; i < 3; i++)
     {
         Console.WriteLine("CreateStack()");
         AnalaizerClass.expression = Console.ReadLine();
         ArrayList result = AnalaizerClass.CreateStack();
         foreach (var temp in result)
         {
             Console.Write(temp + " ");
         }
         Console.WriteLine();
     }
     return(null);
 }
Пример #22
0
 static void RunEstimateTest() //Вычисление обратной польской записи
 {
     for (int i = 0; i < 3; i++)
     {
         Console.WriteLine("RunEstimate()");
         ArrayList list = new ArrayList();
         for (int j = 0; j < 3; j++)
         {
             list.Add(Console.ReadLine());
         }
         AnalaizerClass.opz = list;
         string result = AnalaizerClass.RunEstimate();
         Console.WriteLine(result);
     }
 }
Пример #23
0
        private void CheckCurrencyTest(int testNumber, string input, bool expected)
        {
            AnalaizerClass.expression = input;
            bool result = AnalaizerClass.CheckCurrency();

            if (result == expected)
            {
                Log.CreateLogInfo(logger, testNumber, input, expected.ToString(), result.ToString());
            }
            else
            {
                Log.CreateBugReport(logger, COMPONENT_NAME, testNumber, input, expected.ToString(), result.ToString());
            }
            Assert.AreEqual(expected, result);
        }
Пример #24
0
        private void EstimateTest(int testNumber, string input, string expected)
        {
            AnalaizerClass.expression = input;
            string result = AnalaizerClass.Estimate();

            if (result.Contains(expected))
            {
                Log.CreateLog(logger, component, testNumber, input, expected, result);
                Assert.AreEqual(true, true);
            }
            else
            {
                Log.CreateBugReport(logger, component, testNumber, input, expected, result, "");
                Assert.AreEqual(false, true);
            }
        }
Пример #25
0
        public void EstimateTest2()
        {
            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < 16; ++i)
            {
                sb.Append("1+");
            }
            sb.Append("1");
            AnalaizerClass.expression = sb.ToString();

            String expected = "Error 08";
            String actual   = AnalaizerClass.Estimate();

            Assert.AreEqual(expected, actual, "Estimate() не возвращает ожидаемое значение.");
        }
Пример #26
0
        private void RunEstimateTest(int testNumber, ArrayList input, string expected)
        {
            AnalaizerClass.opz = input;
            string result = AnalaizerClass.RunEstimate();

            if (result.Contains(expected))
            {
                Log.CreateLog(logger, component, testNumber, ListToString(input), expected, result);
                Assert.AreEqual(true, true);
            }
            else
            {
                Log.CreateBugReport(logger, component, testNumber, ListToString(input), expected, result, "");
                Assert.AreEqual(false, true);
            }
        }
Пример #27
0
        public void FormatTest7()
        {
            StringBuilder longExpression = new StringBuilder("");

            for (int i = 0; i < 65534; ++i)
            {
                longExpression.Append("1");
            }
            longExpression.Append("+11");

            AnalaizerClass.expression = longExpression.ToString();
            string expected = "&Error 07";
            string actual   = AnalaizerClass.Format();

            Assert.AreEqual(expected, actual);
        }
Пример #28
0
 static void CheckCurrencyTest() //Проверка корректности скобочной структуры входного выражения
 {
     for (int i = 0; i < 3; i++)
     {
         Console.WriteLine("CheckCurrency()");
         AnalaizerClass.expression = Console.ReadLine();
         bool result = AnalaizerClass.CheckCurrency();
         if (result)
         {
             Console.WriteLine("Скобочная структура верна");
         }
         else
         {
             Console.WriteLine("Скобочная структура неверна");
         }
     }
 }
Пример #29
0
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            if (args.Length > 0)
            {
                //Application.Run(new Form1() { expr = args[0] });
                AnalaizerClass.expression = args[0];

                Console.WriteLine(AnalaizerClass.Estimate());
            }
            else
            {
                Application.Run(new Form1());
            }
        }
Пример #30
0
        public void RunEstimateTest2()
        {
            ArrayList arrayList = new ArrayList();

            arrayList.Add("34");
            arrayList.Add("p");
            arrayList.Add("3");
            arrayList.Add("-");
            arrayList.Add("0");
            arrayList.Add("/");

            AnalaizerClass.opz = arrayList;
            string actual   = AnalaizerClass.RunEstimate();
            string expected = "Error 09";

            Assert.AreEqual(expected, actual);
        }