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)
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)
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))