示例#1
0
 /// <summary>
 /// The entry point of the program, where the program control starts and ends.
 /// </summary>
 /// <param name="args">The command-line arguments.</param>
 public static void Main(string[] args)
 {
     try
     {
         ParseTree myTree = new ParseTree("(- (/ 100 20) (* 5 3))");
         Console.WriteLine(myTree.PrintTree());
         Console.WriteLine(myTree.CountTree());
     }
     catch(UnexpectedSymbolException e)
     {
         Console.WriteLine("Incorrect input");
         Console.WriteLine("Exception: " + e.Message);
     }
     catch(DivideByZeroException e)
     {
         Console.WriteLine(e.Message);
     }
 }
 public void UnexpectedSymbolExceptionTest()
 {
     ParseTree myTree = new ParseTree("(/ y10 5)");
     myTree.CountTree();
 }
 public void ThreeCalculationsCountTreeTest()
 {
     ParseTree myTree = new ParseTree("(/ (* 10 5) (+ 2 3))");
     Assert.AreEqual(10, myTree.CountTree());
 }
 public void SimpleCountTreeTest()
 {
     ParseTree myTree = new ParseTree("(* 10 5)");
     Assert.AreEqual(50, myTree.CountTree());
 }
 public void SevenCalculationsCountTreeTest()
 {
     ParseTree myTree = new ParseTree("(- (* (- 12 2) (* 5 2)) (/ (* 10 5) (+ 2 3)))");
     Assert.AreEqual(90, myTree.CountTree());
 }
 public void DivideByZeroExceptionTest()
 {
     ParseTree myTree = new ParseTree("(/ 1 0)");
     myTree.CountTree();
 }
 public void AnotherUnexpectedSymbolExceptionTest()
 {
     ParseTree myTree = new ParseTree("(- 10 5) (");
     myTree.CountTree();
 }