Esempio n. 1
0
 def setUp(self):
     super(TestBinaryExpr, self).setUp()
     self.be = BinaryExpr([
         ASTLeaf(IdToken(1, "foo")),
         ASTLeaf(IdToken(1, "+")),
         ASTLeaf(StrToken(1, "sample"))
     ])
Esempio n. 2
0
class TestStrToken(StoneTestBase):
    def setUp(self):
        super(TestStrToken, self).setUp()
        self.str_token = StrToken(10, "test")

    def test_text(self):
        self.assertEqual(self.str_token.text, "test")

    def test_is_str(self):
        self.assertTrue(self.str_token.is_str())
Esempio n. 3
0
    def _add_token(self, line_number: int, matcher):
        groups = matcher.groups()
        m = groups[0]

        if m is not None:  # if not space
            if groups[1] is None:  # if not comment
                if groups[2] is not None:
                    token = NumToken(line_number=line_number,
                                     value=int(groups[2]))
                elif groups[3] is not None:
                    token = StrToken(line_number=line_number,
                                     text=self._to_string(groups[3]))
                else:
                    token = IdToken(line_number=line_number, _id=m)
                self.queue.append(token)
Esempio n. 4
0
 def test_read_2(self):
     l = Lexer(File(io.StringIO('aaa = 123\nif a = b {print("Hello")}')))
     self.assertTokenEqual(l.read(), IdToken(1, "aaa"))
     self.assertTokenEqual(l.read(), IdToken(1, "="))
     self.assertTokenEqual(l.read(), NumToken(1, 123))
     self.assertTokenEqual(l.read(), IdToken(1, EOL))
     self.assertTokenEqual(l.read(), IdToken(2, "if"))
     self.assertTokenEqual(l.read(), IdToken(2, "a"))
     self.assertTokenEqual(l.read(), IdToken(2, "="))
     self.assertTokenEqual(l.read(), IdToken(2, "b"))
     self.assertTokenEqual(l.read(), IdToken(2, "{"))
     self.assertTokenEqual(l.read(), IdToken(2, "print"))
     self.assertTokenEqual(l.read(), IdToken(2, "("))
     self.assertTokenEqual(l.read(), StrToken(2, "Hello"))
     self.assertTokenEqual(l.read(), IdToken(2, ")"))
     self.assertTokenEqual(l.read(), IdToken(2, "}"))
     self.assertTokenEqual(l.read(), IdToken(2, EOL))
     self.assertTokenEqual(l.read(), EOF)
Esempio n. 5
0
 def test_peek_2(self):
     l = Lexer(File(io.StringIO('aaa = 123\nif a = b {print("Hello")}')))
     self.assertTokenEqual(l.peek(0), IdToken(1, "aaa"))
     self.assertTokenEqual(l.peek(1), IdToken(1, "="))
     self.assertTokenEqual(l.peek(2), NumToken(1, 123))
     self.assertTokenEqual(l.peek(3), IdToken(1, EOL))
     self.assertTokenEqual(l.peek(4), IdToken(2, "if"))
     self.assertTokenEqual(l.peek(5), IdToken(2, "a"))
     self.assertTokenEqual(l.peek(6), IdToken(2, "="))
     self.assertTokenEqual(l.peek(7), IdToken(2, "b"))
     self.assertTokenEqual(l.peek(8), IdToken(2, "{"))
     self.assertTokenEqual(l.peek(9), IdToken(2, "print"))
     self.assertTokenEqual(l.peek(10), IdToken(2, "("))
     self.assertTokenEqual(l.peek(11), StrToken(2, "Hello"))
     self.assertTokenEqual(l.peek(12), IdToken(2, ")"))
     self.assertTokenEqual(l.peek(13), IdToken(2, "}"))
     self.assertTokenEqual(l.peek(14), IdToken(2, EOL))
     self.assertTokenEqual(l.peek(15), EOF)
Esempio n. 6
0
 def test_value(self):
     value = "sample"
     nl = Name(StrToken(1, value))
     self.assertEqual(nl.name, value)
Esempio n. 7
0
 def setUp(self):
     super(TestStrToken, self).setUp()
     self.str_token = StrToken(10, "test")
Esempio n. 8
0
 def test_right(self):
     self.assertASTLeafEqual(self.be.right(), ASTLeaf(StrToken(1,
                                                               "sample")))
Esempio n. 9
0
 def test_token(self):
     self.assertTokenEqual(self.leaf.token, StrToken(1, dummy_string))
Esempio n. 10
0
 def setUp(self):
     super(TestASTLeaf, self).setUp()
     self.leaf = ASTLeaf(StrToken(1, dummy_string))
Esempio n. 11
0
# -*- coding: utf-8 -*-

from tests.base_test import StoneTestBase
from stone.ast.astleaf import ASTLeaf
from stone.ast.astlist import ASTList
from stone.token.str_token import StrToken

dummy_list = [
    ASTLeaf(StrToken(1, "first")),
    ASTLeaf(StrToken(1, "second")),
    ASTLeaf(StrToken(2, "third"))
]


class TestAstList(StoneTestBase):
    def setUp(self):
        super(TestAstList, self).setUp()
        self.list = ASTList(dummy_list)

    def test_child(self):
        self.assertEqual(self.list.child(0), dummy_list[0])
        self.assertEqual(self.list.child(1), dummy_list[1])
        self.assertEqual(self.list.child(2), dummy_list[2])

    def test_num_children(self):
        self.assertEqual(self.list.num_children(), 3)

    def test_children(self):
        self.assertEqual(self.list.children(), dummy_list)

    def test_to_string(self):