def test_list_literal(ut):
    'List literal support'
    s = '''
the_list = []

non_empty_list = [1, 2, 3]
string_list = ["a", "b", "c"]

x = "20"
list_with_infering_involved = [1, "b", x]
'''
    ps.checkString(s)
    ut.assertList([], first_in_history("the_list", ps))
    ut.assertList([1, 2, 3], first_in_history("non_empty_list", ps))
    ut.assertList(["a", "b", "c"], first_in_history("string_list", ps))
    ut.assertList([1, "b", "20"], first_in_history("list_with_infering_involved", ps))
def test_dict_initializator(ut):
    'Dictionary literal support'
    s = '''
dict_ = {}
dict_2 = {1: 2,
          3: 4}
          
dict_3 = {1: 2,
          3: dict_2}
'''
    ps.checkString(s)
    ut.assertDict({}, first_in_history("dict_", ps))
    ut.assertDict({1: 2, 3: 4}, first_in_history("dict_2", ps))

    dict_3 = first_in_history("dict_3", ps)
    ut.assertSubDict({1: 2}, dict_3)
    ut.assertDictValueAsDict({1: 2, 3: 4}, dict_3, 3)
Пример #3
0
def test_import_accessability_in_inner_context(ut):
    s = '''
import objy

def x():
    return objy
        
result = x()
'''
    ps.checkString(s)
    result = first_in_history('result', ps)
    ut.assertTrue(isinstance(result, ps.ObjType))
    ut.assertEqual("module", result.classtype.name)
Пример #4
0
def test_import_module_with_func(ut):
    # set up
    ps.addToPythonPath('tests')

    # exercise
    ps.checkString('import func_a')

    # verify
    result = first_in_history('func_a', ps)
    ut.assertTrue(isinstance(result, ps.ObjType))
    ut.assertTrue('a' in result.attrs.keys())
    ut.assertTrue(isinstance(result.attrs['a'], list))
    ut.assertTrue(1, len(result.attrs['a']))
    ut.assertTrue(isinstance(result.attrs['a'][0], ps.Closure))