def setUp(self): super(TestBinaryExpr, self).setUp() self.be = BinaryExpr([ ASTLeaf(IdToken(1, "foo")), ASTLeaf(IdToken(1, "+")), ASTLeaf(StrToken(1, "sample")) ])
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())
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)
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)
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)
def test_value(self): value = "sample" nl = Name(StrToken(1, value)) self.assertEqual(nl.name, value)
def setUp(self): super(TestStrToken, self).setUp() self.str_token = StrToken(10, "test")
def test_right(self): self.assertASTLeafEqual(self.be.right(), ASTLeaf(StrToken(1, "sample")))
def test_token(self): self.assertTokenEqual(self.leaf.token, StrToken(1, dummy_string))
def setUp(self): super(TestASTLeaf, self).setUp() self.leaf = ASTLeaf(StrToken(1, dummy_string))
# -*- 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):