Пример #1
0
        private void PositiveAddTest(int testNumber, long a, long b)
        {
            long result   = CalcClass.Add(a, b);
            long expected = a + b;

            Log.CreateLog(logger, component, testNumber, a.ToString(), expected.ToString(), result.ToString());
            Assert.AreEqual(result, expected);
        }
Пример #2
0
        private void NegativeAddTest(int testNumber, long a, long b, string exeption)
        {
            long   result = CalcClass.Add(a, b);
            string exep   = CalcClass.lastError;

            if (result == 0 && exep.Contains(exeption))
            {
                Log.CreateLog(logger, component, testNumber, a.ToString(), "0 " + exeption, result.ToString() + " " + exep);
                Assert.AreEqual(result, 0);
            }
            else
            {
                Log.CreateBugReport(logger, component, testNumber, a.ToString(), "0 " + exeption, result.ToString() + " " + exep, "");
            }
        }
Пример #3
0
 public void bMPlus_ForTest()
 {
     if (result != "")
     {
         try
         {
             BaseCalc.mem = CalcClass.Add(BaseCalc.mem, Convert.ToInt32(result));
         }
         catch (OverflowException ex)
         {
             // Слишком малое или слишком большое значение числа для int\nЧисла должны быть в пределах от -2147483648 до 2147483647
             exception = 1;
         }
         catch (Exception ex)
         {
             // "Невозможно преобразовать к числу!", "Ошибка"
             exception = 2;
         }
     }
 }
Пример #4
0
        private void AddTest(int testNumber)
        {
            Random ran      = new Random();
            long   a        = ran.Next(int.MaxValue);
            long   b        = ran.Next(int.MaxValue);
            long   expected = 0;
            long   result   = CalcClass.Add(a, b);

            if (a + b <= int.MaxValue)
            {
                expected = a + b;
            }

            if (expected == result)
            {
                Log.CreateLogInfo(logger, testNumber, InputToString(a, b), expected.ToString(), result.ToString());
            }
            else
            {
                Log.CreateBugReport(logger, COMPANENT_NAME, testNumber, InputToString(a, b), expected.ToString(), result.ToString());
            }
        }
Пример #5
0
        static void Main(string[] args)
        {
            Random ran = new Random();

            for (int i = 0; i < 3; i++)
            {
                long a = ran.Next(int.MaxValue);
                long b = ran.Next(int.MaxValue);
                Console.WriteLine("a = " + a);
                Console.WriteLine("b = " + b);
                if ((a + b) > int.MaxValue)
                {
                    Console.WriteLine("Ожидаемый результат - слишком большое число");
                }
                else
                {
                    Console.WriteLine("Ожидаемый результат = " + (a + b));
                }

                long result = CalcClass.Add(a, b);
                Console.WriteLine("Полученный результат = " + result);
            }
            Console.ReadKey();
        }
Пример #6
0
        /// <summary>
        /// Обчислення зворотнього польського запису
        /// </summary>
        ///<returns>результат обчислень,або повідомлення про помилку</returns>
        public static string RunEstimate(ArrayList stack)
        {
            ArrayList temp = new ArrayList();

            for (int i = 0; i < stack.Count; i++)
            {
                int number;
                if (Int32.TryParse(stack[i].ToString(), out number))
                {
                    if (Convert.ToInt64(stack[i]) < -2147483648 || Convert.ToInt64(stack[i]) > 2147483647)
                    {
                        //Дуже мале, або дуже велике значення числа для int. Числа повинні бути в межах від -2147483648 до 2147483647
                        ShowMessage = true;
                        lastError   = "Error 06";
                        return("Error 06");
                    }
                    temp.Add(stack[i]);
                }
                else
                {
                    double left  = Convert.ToDouble(temp[temp.Count - 2]);
                    double right = Convert.ToDouble(temp[temp.Count - 1]);
                    temp.RemoveAt(temp.Count - 1);
                    temp.RemoveAt(temp.Count - 1);
                    switch (stack[i])
                    {
                    case "+":
                        temp.Add(CalcClass.Add(left, right).ToString());
                        break;

                    case "-":
                        temp.Add(CalcClass.Sub(left, right).ToString());
                        break;

                    case "*":
                        temp.Add(CalcClass.Mult(left, right).ToString());
                        break;

                    case "/":
                        if (right == 0)
                        {
                            ShowMessage = true;
                            lastError   = "Error 09";
                            return("Error 09");
                        }
                        temp.Add(CalcClass.Div(left, right).ToString());
                        break;

                    case "%":
                        if (right == 0)
                        {
                            ShowMessage = true;
                            lastError   = "Error 09";
                            return("Error 09");
                        }
                        temp.Add(CalcClass.Mod(left, right).ToString());
                        break;
                    }
                }
            }
            expression = temp[0].ToString();
            return(temp[0].ToString());
        }
        private void buttonStartDel_Click(object sender, EventArgs e)
        {
            try
            {
                richTextBox1.Text  = "";
                richTextBox1.Text += "Test Case 1\n";
                richTextBox1.Text += "Входные данные: a= 78508, b = -304\n";
                richTextBox1.Text += "Ожидаемый результат: res = 78204 && error = \"\"" + "\n";
                int    res   = CalcClass.Add(78508, -304);
                string error = CalcClass.lastError;
                richTextBox1.Text += "Код ошибки: " + error + "\n";
                richTextBox1.Text += "Получившийся результат: " + "res = " + res.ToString() + " error = " + error.ToString() + "\n";
                if (res == 78204 && error == "")
                {
                    richTextBox1.Text += "Тест пройден\n\n";
                }
                else
                {
                    richTextBox1.Text += "Тест не пройден\n\n";
                }
            }
            catch (Exception ex)
            {
                richTextBox1.Text += "Перехвачено исключение: " + ex.ToString() + "\nТест не пройден.\n";
            }

            try
            {
                richTextBox1.Text += "Test Case 2\n";
                richTextBox1.Text += "Входные данные: a= -2850800078, b = 3000000000\n";
                richTextBox1.Text += "Ожидаемый результат: res = 0 && error = \"Error 06\"\n";
                int    res   = CalcClass.Add(-2850800078, 3000000000);
                string error = CalcClass.lastError;
                richTextBox1.Text += "Код ошибки: " + error + "\n";
                richTextBox1.Text += "Получившийся результат: " + "res = " + res.ToString() + " error = " + error.ToString() + "\n";
                if (res == 0 && error == "Error 06")
                {
                    richTextBox1.Text += "Тест пройден\n\n";
                }
                else
                {
                    richTextBox1.Text += "Тест не пройден\n\n";
                }
            }
            catch (Exception ex)
            {
                richTextBox1.Text += "Перехвачено исключение: " + ex.ToString() + "\nТест не пройден.\n";
            }

            try
            {
                richTextBox1.Text += "Test Case 3\n";
                richTextBox1.Text += "Входные данные: a= 3000000000, b = -2850800078\n";
                richTextBox1.Text += "Ожидаемый результат: res = 0 && error = \"Error 06\"\n";
                int    res   = CalcClass.Add(3000000000, -2850800078);
                string error = CalcClass.lastError;
                richTextBox1.Text += "Код ошибки: " + error + "\n";
                richTextBox1.Text += "Получившийся результат: " + "res = " + res.ToString() + " error = " + error.ToString() + "\n";
                if (res == 0 && error == "Error 06")
                {
                    richTextBox1.Text += "Тест пройден\n\n";
                }
                else
                {
                    richTextBox1.Text += "Тест не пройден\n\n";
                }
            }
            catch (Exception ex)
            {
                richTextBox1.Text += "Перехвачено исключение: " + ex.ToString() + "\nТест не пройден.\n";
            }

            try
            {
                richTextBox1.Text += "Test Case 4\n";
                richTextBox1.Text += "Входные данные: a= 2000000000, b = 2000000000\n";
                richTextBox1.Text += "Ожидаемый результат: res = 0 && error = \"Error 06\"\n";
                int    res   = CalcClass.Add(2000000000, 2000000000);
                string error = CalcClass.lastError;
                richTextBox1.Text += "Код ошибки: " + error + "\n";
                richTextBox1.Text += "Получившийся результат: " + "res = " + res.ToString() + " error = " + error.ToString() + "\n";
                if (res == 0 && error == "Error 06")
                {
                    richTextBox1.Text += "Тест пройден\n\n";
                }
                else
                {
                    richTextBox1.Text += "Тест не пройден\n\n";
                }
            }
            catch (Exception ex)
            {
                richTextBox1.Text += "Перехвачено исключение: " + ex.ToString() + "\nТест не пройден.\n";
            }
        }
Пример #8
0
        public static string RunEstimate()
        {
            /* string InputExpression = "2 2 - 33 * 11 - 5 6 + +";
             * ICollection<string> listExpression; // = new List<string>();
             * listExpression = InputExpression.Split(' ');*/

            List <decimal> res = new List <decimal>();

            foreach (string ie in InputExpression)
            {
                if (!(ie == "+" || ie == "-" || ie == "*" || ie == "/" || ie == "%" || ie == "m" || ie == "p"))
                {
                    decimal r;
                    if (Decimal.TryParse(ie, out r))
                    {
                        res.Add(r);
                    }
                    else
                    {
                        ShowMessage = false;
                        expression  = "Error 07";
                        return(expression);
                    }
                }
                else
                {
                    switch (ie[0])
                    {
                    case '+':
                        res[res.Count - 2] = CalcClass.Add(res[res.Count - 2], res[res.Count - 1]);
                        break;

                    case '-':
                        res[res.Count - 2] = CalcClass.Sub(res[res.Count - 2], res[res.Count - 1]);
                        break;

                    case '*':
                        res[res.Count - 2] = CalcClass.Mult(res[res.Count - 2], res[res.Count - 1]);
                        break;

                    case '/':
                        res[res.Count - 2] = CalcClass.Div(res[res.Count - 2], res[res.Count - 1]);
                        break;

                    case '%':
                        res[res.Count - 2] = CalcClass.Mod(res[res.Count - 2], res[res.Count - 1]);
                        break;

                    case 'm':
                        res[res.Count - 1] = CalcClass.IABS(res[res.Count - 1]);
                        break;

                    case 'p':
                        res[res.Count - 1] = (res[res.Count - 1]);
                        break;
                    }

                    if (CalcClass.isError)
                    {
                        expression  = CalcClass._lastError;
                        ShowMessage = false;
                        return(expression);
                    }

                    if (ie[0] != 'm' && ie[0] != 'p')
                    {
                        res.RemoveAt(res.Count - 1);
                    }
                }
            }

            expression = res[0].ToString();
            return(expression);
        }