public void ComplexExample()
        {
            Parser parser = new Parser("145.2/3+7-(8*45+22*(2-19))-88/8 + 17");

            var parseTree = parser.Parse();

            var calculator = new FormelParser.Visitors.CalculateVisitor();
            parseTree.Accept(calculator);

            Assert.AreEqual(75.4, calculator.Result);

            var parenthizer = new FormelParser.Visitors.FullParenthesisVisitor();
            parseTree.Accept(parenthizer);

            Assert.AreEqual("(((((145.2/3)+7)-((8*45)+(22*(2-19))))-(88/8))+17)", parenthizer.Result);
        }
        public void SingleNumber()
        {
            Parser parser = new Parser("22");
            var parseTree = parser.Parse();

            var number = parseTree as NumberNode;
            Assert.IsNotNull(number);
            Assert.AreEqual(number.Number, 22.0);

            var calculator = new FormelParser.Visitors.CalculateVisitor();
            parseTree.Accept(calculator);

            Assert.AreEqual(calculator.Result, 22.0);

            var parenthizer = new FormelParser.Visitors.FullParenthesisVisitor();
            parseTree.Accept(parenthizer);

            Assert.AreEqual("22", parenthizer.Result);
        }