public void addToOutput_Test() { bool k; int n, i; var proc = new Calculate(); Regex oper = new Regex("[^a-vA-Z;\\=,?!@`~$%|0-9]()"); string sub; Stack<string> input = new Stack<string>(); Stack<string> output = new Stack<string>(); // операции одинакового приоритета input.Push("+"); output.Push("+"); output.Push("+"); sub = "+"; proc.addToOutput(input, sub, oper); k = true; n = 2; i = 0; while (i < n) { k = input.ElementAt(i) == output.ElementAt(i); i += 1; } Assert.IsTrue(k); input.Clear(); output.Clear(); proc = null; // операция в стеке меньшего приоритета proc = new Calculate(); input.Push("+"); output.Push("+"); output.Push("*"); sub = "*"; proc.addToOutput(input, sub, oper); k = true; n = 2; i = 0; while (i < n) { k = input.ElementAt(i) == output.ElementAt(i); i += 1; } Assert.IsTrue(k); input.Clear(); output.Clear(); proc = null; // операция в стеке бОльшего приоритета proc = new Calculate(); input.Push("+"); input.Push("*"); input.Push("/"); output.Push("+"); output.Push("-"); sub = "-"; proc.addToOutput(input, sub, oper); k = true; n = 2; i = 0; while (i < n) { k = input.ElementAt(i) == output.ElementAt(i); i += 1; } Assert.IsTrue(k); input.Clear(); output.Clear(); proc = null; // закрывающая скобка proc = new Calculate(); input.Push("*"); input.Push("("); input.Push("+"); input.Push("*"); output.Push("*"); sub = ")"; proc.addToOutput(input, sub, oper); k = true; n = 1; i = 0; while (i < n) { k = input.ElementAt(i) == output.ElementAt(i); i += 1; } Assert.IsTrue(k); }