| 123456789101112131415161718192021222324252627282930313233343536 |
- # vim: set fileencoding=utf-8 :
- import unittest
- from external.graph_drawing.graph import generate_graph
- from external.graph_drawing.line import generate_line
- from src.parser import Parser
- from src.node import ExpressionNode as Node, ExpressionLeaf as Leaf
- from tests.parser import ParserWrapper, run_expressions
- def graph(*exp, **kwargs):
- return generate_graph(ParserWrapper(Parser, **kwargs).run(exp))
- def line(*exp, **kwargs):
- return generate_line(ParserWrapper(Parser, **kwargs).run(exp))
- class TestParser(unittest.TestCase):
- def test_constructor(self):
- node = Node('+', Leaf(1), Leaf(4))
- self.assertEqual(ParserWrapper(Parser).run(['1 + 4']), node)
- def test_identifiers(self):
- run_expressions(Parser, [('a', Leaf('a'))])
- def test_graph(self):
- assert graph('4a') == ("""
- *
- ╭┴╮
- 4 a
- """).replace('\n ', '\n')[1:-1]
- def test_line(self):
- self.assertEqual(line('4a'), '4 * a')
|