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); }
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, ""); } }
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; } } }
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()); } }
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(); }
/// <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"; } }
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); }