Exemple #1
0
    def test_could_success_get_last_input_codes(self):
        block = Block("var a int64")
        handler = CodeHandler()

        handler.add(block)

        self.assertEquals(handler.get_last(), block)
Exemple #2
0
    def test_parse_right_codes_when_give_a_simple_block(self):
        handler = CodeHandler()
        handler._execute_blocks = [Block("fmt.Println('1')")]

        codes = handler.parse_codes()

        self.assertEquals("    fmt.Println('1')", codes)
Exemple #3
0
    def test_success_get_vari_when_use_key_word_const(self):
        block = Block('const x string = "hello world"')
        handler = CodeHandler()

        varis = handler.get_varis(block)

        self.assertTrue("x" in varis)
        self.assertTrue(len(varis) == 1)
Exemple #4
0
    def test_success_get_vari_when_use_key_word_var(self):
        block = Block("var a int64")
        handler = CodeHandler()

        varis = handler.get_varis(block)

        self.assertTrue("a" in varis)
        self.assertTrue(len(varis) == 1)
Exemple #5
0
    def test_can_check_used_assignment(self):
        handler = CodeHandler()
        handler.varis = dict(a=0)
        handler.get_declared().clear()
        handler.add_declared("a", Block("a := 1"))

        block = Block('fmt.Println(a)')
        handler.scan_used([block])

        self.assertEqual(len(list(handler.get_params())), 1)
        self.assertTrue("a" in handler.get_params())
Exemple #6
0
    def test_is_used_assignment_need_compile_would_return_true(self):
        handler = CodeHandler()

        declared_block = Block("a := 1")
        block = Block("a.get()")

        handler._blocks.append(declared_block)
        handler._blocks.append(block)
        handler.add_declared("a", declared_block)

        result = handler.need_compile(block)

        self.assertTrue(result)
Exemple #7
0
    def test_is_need_compile_would_return_true_if_not_assignment_code(self):
        handler = CodeHandler()

        declared_block = Block("var a string")
        block = Block("fmt.Println(a)")

        handler._blocks.append(declared_block)
        handler._blocks.append(block)
        handler.add_declared("a", declared_block)
        handler.assignment_manager.add_assigned("a", handler.handler_type)

        result = handler.need_compile(block)

        self.assertTrue(result)